From c0b600f721c7105c80a09d1e95e08f0d79bee047 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 19 Sep 2024 15:06:40 +0200 Subject: [PATCH 01/29] update database schema diagram --- docs/database-diagram.svg | 1539 +++++++++++++++++++------------------ 1 file changed, 777 insertions(+), 762 deletions(-) diff --git a/docs/database-diagram.svg b/docs/database-diagram.svg index 7480a54b..109a0e19 100644 --- a/docs/database-diagram.svg +++ b/docs/database-diagram.svg @@ -4,810 +4,825 @@ - - + + SchemaCrawler_Diagram - -generated by -SchemaCrawler 16.20.4 -generated on -2023-07-27 21:56:13 - + +generated by +SchemaCrawler 16.22.2 +generated on +2024-09-19 13:06:08 + car_blocks_376c08b0 - -car_blocks - -[table] -id - -INTEGER -car_id - -INTEGER -cid - -BLOB -car_offset - -INTEGER -car_block_length - -INTEGER -varint - -BLOB -raw_block - -BLOB -item_id - -INTEGER -item_offset - -INTEGER -item_encrypted - -NUMERIC - + +car_blocks + +[table] +id + +INTEGER +cid + +BLOB +car_offset + +INTEGER +car_block_length + +INTEGER +varint + +BLOB +raw_block + +BLOB +file_offset + +INTEGER +car_id + +INTEGER +file_id + +INTEGER + cars_2eef7e - -cars - -[table] -id - -INTEGER -created_at - -DATETIME -piece_cid - -BLOB -piece_size - -INTEGER -root_cid - -BLOB -file_size - -INTEGER -file_path - -TEXT -dataset_id - -INTEGER -source_id - -INTEGER -chunk_id - -INTEGER -header - -BLOB - + +cars + +[table] +id + +INTEGER +created_at + +DATETIME +piece_cid + +BLOB +piece_size + +INTEGER +root_cid + +BLOB +file_size + +INTEGER +storage_id + +INTEGER +storage_path + +TEXT +num_of_files + +INTEGER +preparation_id + +INTEGER +attachment_id + +INTEGER +job_id + +INTEGER + car_blocks_376c08b0:w->cars_2eef7e:e - - - - - - - -SCHCRWLR_002E7B1F_376B9451 - - - -items_5fe5c1f - -items - -[table] -id - -INTEGER -created_at - -DATETIME -source_id - -INTEGER -path - -TEXT -hash - -TEXT -size - -INTEGER -last_modified_timestamp_nano - -INTEGER -cid - -BLOB -directory_id - -INTEGER - - - - -car_blocks_376c08b0:w->items_5fe5c1f:e - - - - - - - -SCHCRWLR_05FDE7C0_376B9451 - - - -chunks_aee0a005 - -chunks - -[table] -id - -INTEGER -created_at - -DATETIME -source_id - -INTEGER -packing_state - -TEXT -packing_worker_id - -TEXT -error_message - -TEXT - - - - -cars_2eef7e:w->chunks_aee0a005:e - - - - - - - -SCHCRWLR_AEE02BA6_002E7B1F - - + + + + + + + +SCHCRWLR_002E7B1F_376B9451 + + -datasets_6ab14f5a - -datasets - -[table] -id - -INTEGER -name - -TEXT -created_at - -DATETIME -updated_at - -DATETIME -max_size - -INTEGER -piece_size - -INTEGER -output_dirs - -JSON -encryption_recipients - -JSON -encryption_script - -TEXT - - - +files_5cf2ed6 + +files + +[table] +id + +INTEGER +cid + +BLOB +path + +TEXT +hash + +TEXT +size + +INTEGER +last_modified_nano + +INTEGER +attachment_id + +INTEGER +directory_id + +INTEGER + + + -cars_2eef7e:w->datasets_6ab14f5a:e - - - - - - - -SCHCRWLR_6AB0DAFB_002E7B1F - - +car_blocks_376c08b0:w->files_5cf2ed6:e + + + + + + + +SCHCRWLR_05CEBA77_376B9451 + + -sources_877d1017 - -sources - -[table] -id - -INTEGER -created_at - -DATETIME -updated_at - -DATETIME -dataset_id - -INTEGER -type - -TEXT -path - -TEXT -metadata - -JSON -scan_interval_seconds - -INTEGER -scanning_state - -TEXT -scanning_worker_id - -TEXT -last_scanned_timestamp - -INTEGER -last_scanned_path - -TEXT -error_message - -TEXT -delete_after_export - -NUMERIC -dag_gen_state - -TEXT -dag_gen_worker_id - -TEXT -dag_gen_error_message - -TEXT - - - +jobs_3250b5 + +jobs + +[table] +id + +INTEGER +type + +TEXT +state + +TEXT +error_message + +TEXT +error_stack_trace + +TEXT +worker_id + +TEXT +attachment_id + +INTEGER + + + + +cars_2eef7e:w->jobs_3250b5:e + + + + + + + +SCHCRWLR_0031DC56_002E7B1F + + + +preparations_816d211b + +preparations + +[table] +id + +INTEGER +name + +TEXT +created_at + +DATETIME +updated_at + +DATETIME +delete_after_export + +NUMERIC +max_size + +INTEGER +piece_size + +INTEGER +no_inline + +NUMERIC +no_dag + +NUMERIC + + + + +cars_2eef7e:w->preparations_816d211b:e + + + + + + + +SCHCRWLR_816CACBC_002E7B1F + + + +source_attachments_83e6b5eb + +source_attachments + +[table] +id + +INTEGER +preparation_id + +INTEGER +storage_id + +INTEGER + + + -cars_2eef7e:w->sources_877d1017:e - - - - - - - -SCHCRWLR_877C9BB8_002E7B1F - - - -chunks_aee0a005:w->sources_877d1017:e - - - - - - - -SCHCRWLR_877C9BB8_AEE02BA6 - - +cars_2eef7e:w->source_attachments_83e6b5eb:e + + + + + + + +SCHCRWLR_83E6418C_002E7B1F + + -workers_5ae89114 - -workers - -[table] -id - -TEXT -work_type - -TEXT -working_on - -TEXT -last_heartbeat - -DATETIME -hostname - -TEXT - - - - -chunks_aee0a005:w->workers_5ae89114:e - - - - - - - -SCHCRWLR_5AE81CB5_AEE02BA6 - - - -item_parts_8b749313 - -item_parts - -[table] -id - -INTEGER -item_id - -INTEGER -offset - -INTEGER -length - -INTEGER -cid - -BLOB -chunk_id - -INTEGER - - - - -item_parts_8b749313:w->chunks_aee0a005:e - - - - - - - -SCHCRWLR_AEE02BA6_8B741EB4 - - - -item_parts_8b749313:w->items_5fe5c1f:e - - - - - - - -SCHCRWLR_05FDE7C0_8B741EB4 +storages_665881b7 + +storages + +[table] +id + +INTEGER +name + +TEXT +created_at + +DATETIME +updated_at + +DATETIME +type + +TEXT +path + +TEXT +config + +JSON +client_config + +JSON + + + + +cars_2eef7e:w->storages_665881b7:e + + + + + + + +SCHCRWLR_66580D58_002E7B1F - + deals_5b105e6 - -deals - -[table] -id - -INTEGER -created_at - -DATETIME -updated_at - -DATETIME -deal_id - -INTEGER -dataset_id - -INTEGER -state - -TEXT -client_id - -TEXT -provider - -TEXT -proposal_id - -TEXT -label - -TEXT -piece_cid - -BLOB -piece_size - -INTEGER -start_epoch - -INTEGER -end_epoch - -INTEGER -sector_start_epoch - -INTEGER -price - -TEXT -verified - -NUMERIC -error_message - -TEXT -schedule_id - -INTEGER - - - - -deals_5b105e6:w->datasets_6ab14f5a:e - - - - - - - -SCHCRWLR_6AB0DAFB_05B09187 + +deals + +[table] +id + +INTEGER +created_at + +DATETIME +updated_at + +DATETIME +last_verified_at + +DATETIME +deal_id + +INTEGER +state + +TEXT +provider + +TEXT +proposal_id + +TEXT +label + +TEXT +piece_cid + +BLOB +piece_size + +INTEGER +start_epoch + +INTEGER +end_epoch + +INTEGER +sector_start_epoch + +INTEGER +price + +TEXT +verified + +NUMERIC +error_message + +TEXT +schedule_id + +INTEGER +client_id + +TEXT + - + schedules_f66c351b - -schedules - -[table] -id - -INTEGER -created_at - -DATETIME -updated_at - -DATETIME -dataset_id - -INTEGER -url_template - -TEXT -http_headers - -JSON -provider - -TEXT -price_per_gb_epoch - -REAL -price_per_gb - -REAL -price_per_deal - -REAL -total_deal_number - -INTEGER -total_deal_size - -INTEGER -verified - -NUMERIC -keep_unsealed - -NUMERIC -announce_to_ip_ni - -NUMERIC -start_delay - -INTEGER -duration - -INTEGER -state - -TEXT -schedule_cron - -TEXT -schedule_deal_number - -INTEGER -schedule_deal_size - -INTEGER -max_pending_deal_number - -INTEGER -max_pending_deal_size - -INTEGER -notes - -TEXT -error_message - -TEXT -allowed_piece_c_ids - -BLOB - + +schedules + +[table] +id + +INTEGER +created_at + +DATETIME +updated_at + +DATETIME +url_template + +TEXT +http_headers + +JSON +provider + +TEXT +price_per_gb_epoch + +REAL +price_per_gb + +REAL +price_per_deal + +REAL +total_deal_number + +INTEGER +total_deal_size + +INTEGER +verified + +NUMERIC +keep_unsealed + +NUMERIC +announce_to_ipni + +NUMERIC +start_delay + +INTEGER +duration + +INTEGER +state + +TEXT +schedule_cron + +TEXT +schedule_cron_perpetual + +NUMERIC +schedule_deal_number + +INTEGER +schedule_deal_size + +INTEGER +max_pending_deal_number + +INTEGER +max_pending_deal_size + +INTEGER +notes + +TEXT +error_message + +TEXT +allowed_piece_cids + +JSON +force + +NUMERIC +preparation_id + +INTEGER + deals_5b105e6:w->schedules_f66c351b:e - - - - - - - -SCHCRWLR_F66BC0BC_05B09187 + + + + + + + +SCHCRWLR_F66BC0BC_05B09187 - + wallets_42b09ff9 - -wallets - -[table] -id - -TEXT -address - -TEXT -private_key - -TEXT -remote_peer - -TEXT - + +wallets + +[table] +id + +TEXT +address + +TEXT +private_key + +TEXT + - -deals_5b105e6:w->wallets_42b09ff9:e - - - - - - - -SCHCRWLR_42B02B9A_05B09187 - - - -schedules_f66c351b:w->datasets_6ab14f5a:e - - - - - - - -SCHCRWLR_6AB0DAFB_F66BC0BC - - - -sources_877d1017:w->datasets_6ab14f5a:e - - - - - - - -SCHCRWLR_6AB0DAFB_877C9BB8 - - -sources_877d1017:w->workers_5ae89114:e - - - - - - - -SCHCRWLR_5AE81CB5_877C9BB8 - - - -sources_877d1017:w->workers_5ae89114:e - - - - - - - -SCHCRWLR_5AE81CB5_877C9BB8 - - - -wallet_assignments_75594c5f - -wallet_assignments - -[table] -id - -INTEGER -wallet_id - -TEXT -dataset_id - -INTEGER - - - - -wallet_assignments_75594c5f:w->datasets_6ab14f5a:e - - - - - - - -SCHCRWLR_6AB0DAFB_7558D800 - - - -wallet_assignments_75594c5f:w->wallets_42b09ff9:e - - - - - - - -SCHCRWLR_42B02B9A_7558D800 +deals_5b105e6:w->wallets_42b09ff9:e + + + + + + + +SCHCRWLR_42B02B9A_05B09187 - + directories_9f127c2a - -directories - -[table] -id - -INTEGER -updated_at - -DATETIME -cid - -BLOB -source_id - -INTEGER -data - -BLOB -name - -TEXT -parent_id - -INTEGER -exported - -NUMERIC - - - - -directories_9f127c2a:w->sources_877d1017:e - - - - - - - -SCHCRWLR_877C9BB8_9F1207CB + +directories + +[table] +id + +INTEGER +cid + +BLOB +data + +BLOB +name + +TEXT +exported + +NUMERIC +attachment_id + +INTEGER +parent_id + +INTEGER + - + directories_9f127c2a:w->directories_9f127c2a:e - - - - - - - -SCHCRWLR_9F1207CB_9F1207CB - - - -items_5fe5c1f:w->sources_877d1017:e - - - - - - - -SCHCRWLR_877C9BB8_05FDE7C0 - - - -items_5fe5c1f:w->directories_9f127c2a:e - - - - - - - -SCHCRWLR_9F1207CB_05FDE7C0 + + + + + + + +SCHCRWLR_9F1207CB_9F1207CB + + + +directories_9f127c2a:w->source_attachments_83e6b5eb:e + + + + + + + +SCHCRWLR_83E6418C_9F1207CB + + + +files_5cf2ed6:w->directories_9f127c2a:e + + + + + + + +SCHCRWLR_9F1207CB_05CEBA77 + + + +files_5cf2ed6:w->source_attachments_83e6b5eb:e + + + + + + + +SCHCRWLR_83E6418C_05CEBA77 + + + +file_ranges_77778758 + +file_ranges + +[table] +id + +INTEGER +offset + +INTEGER +length + +INTEGER +cid + +BLOB +job_id + +INTEGER +file_id + +INTEGER + + + + +file_ranges_77778758:w->files_5cf2ed6:e + + + + + + + +SCHCRWLR_05CEBA77_777712F9 + + + +file_ranges_77778758:w->jobs_3250b5:e + + + + + + + +SCHCRWLR_0031DC56_777712F9 - + globals_737e58f - -globals - -[table] -key - -TEXT -"value" - -TEXT - + +globals + +[table] +key + +TEXT +"value" + +TEXT + + + + +jobs_3250b5:w->source_attachments_83e6b5eb:e + + + + + + + +SCHCRWLR_83E6418C_0031DC56 + + + +workers_5ae89114 + +workers + +[table] +id + +TEXT +last_heartbeat + +DATETIME +hostname + +TEXT +type + +TEXT + + + + +jobs_3250b5:w->workers_5ae89114:e + + + + + + + +SCHCRWLR_5AE81CB5_0031DC56 + + + +output_attachments_9b973dd1 + +output_attachments + +[table] +id + +INTEGER +preparation_id + +INTEGER +storage_id + +INTEGER + + + + +output_attachments_9b973dd1:w->preparations_816d211b:e + + + + + + + +SCHCRWLR_816CACBC_9B96C972 + + + +output_attachments_9b973dd1:w->storages_665881b7:e + + + + + + + +SCHCRWLR_66580D58_9B96C972 + + + +schedules_f66c351b:w->preparations_816d211b:e + + + + + + + +SCHCRWLR_816CACBC_F66BC0BC + + + +source_attachments_83e6b5eb:w->preparations_816d211b:e + + + + + + + +SCHCRWLR_816CACBC_83E6418C + + + +source_attachments_83e6b5eb:w->storages_665881b7:e + + + + + + + +SCHCRWLR_66580D58_83E6418C + + + +wallet_assignments_75594c5f + +wallet_assignments + +[table] +preparation_id + +INTEGER +wallet_id + +TEXT + + + + +wallet_assignments_75594c5f:w->preparations_816d211b:e + + + + + + + +SCHCRWLR_816CACBC_7558D800 + + + +wallet_assignments_75594c5f:w->wallets_42b09ff9:e + + + + + + + +SCHCRWLR_42B02B9A_7558D800 From d4ab4e98e716260db7443a989e103937bf2f4d54 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Tue, 25 Mar 2025 14:53:32 +0000 Subject: [PATCH 02/29] devcontainers ignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index f7d83b87..0ac67489 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,8 @@ /baga* singularity.db* +# Devcontainer +.devcontainer/ node_modules /.pnp From 932668c17b7642a4d751ff9f597d3aee2b0458de Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Tue, 25 Mar 2025 15:14:06 +0000 Subject: [PATCH 03/29] update settings for 2.x linter --- .golangci.yml | 113 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 69 insertions(+), 44 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 148ca873..fd0d35f2 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,3 +1,4 @@ +version: "2" run: tests: false skip-dirs: @@ -13,57 +14,81 @@ run: linters: enable-all: true disable: - - typecheck - - interfacer - - structcheck - - golint - - ifshort - - scopelint - - varcheck - - varnamelen - - maligned - - deadcode - - structcheck - - gci - - goimports - - gofumpt - - nolintlint - - ireturn - - nosnakecase - - nlreturn - - godox - - gomoddirectives - - rowserrcheck - - sqlclosecheck - - wastedassign - - gocognit - - wsl - - musttag - - exhaustivestruct + - asasalint + - asciicheck + - bidichk + - bodyclose + - canonicalheader + - contextcheck - cyclop - - gomnd - - gochecknoglobals + - depguard + - dogsled + - dupl + - dupword + - errname + - errorlint + - exhaustruct + - forbidigo + - forcetypeassert - funlen + - gochecknoglobals + - gochecknoinits + - gocognit + - goconst + - gocritic - gocyclo - - exhaustruct - - wrapcheck - - nestif - - containedctx + - godot + - goheader + - gomoddirectives + - gomodguard + - goprintffuncname + - gosec + - grouper + - importas + - inamedparam + - ineffassign + - ireturn + - lll + - loggercheck - maintidx - - nonamedreturns + - makezero + - misspell + - musttag + - nakedret + - nestif + - nilerr - nilnil + - nlreturn + - noctx + - nolintlint + - nonamedreturns + - nosprintfhostport + - paralleltest - prealloc - - gochecknoinits - - dupl - - forbidigo - - godot - - depguard - - nakedret + - predeclared + - promlinter + - reassign + - revive + - rowserrcheck + - sqlclosecheck + - staticcheck - tagalign - - lll - - dupword - - interfacebloat - - goconst + - tagliatelle + - tparallel + - unconvert + - unparam + - unused + - varnamelen + - wastedassign + - whitespace + - wrapcheck + - wsl + +formatters: + disable: + - gci + - gofumpt + - goimports linters-settings: errcheck: From 6015fff672535ecf8e230296e73cec55da09de33 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Wed, 30 Apr 2025 15:14:25 +0200 Subject: [PATCH 04/29] fix linting with golangci v2 --- .golangci.yml | 216 +++++++++++++++++++++++++++----------------------- Makefile | 2 +- 2 files changed, 116 insertions(+), 102 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index fd0d35f2..883c2b9e 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,101 +1,115 @@ -version: "2" -run: - tests: false - skip-dirs: - - replication/internal - - cmd/embed - - docs - - dashboard/model2ts - - handler/datasource/generate - - handler/storage/gen - skip-files: - - cmd/testutil.go - -linters: - enable-all: true - disable: - - asasalint - - asciicheck - - bidichk - - bodyclose - - canonicalheader - - contextcheck - - cyclop - - depguard - - dogsled - - dupl - - dupword - - errname - - errorlint - - exhaustruct - - forbidigo - - forcetypeassert - - funlen - - gochecknoglobals - - gochecknoinits - - gocognit - - goconst - - gocritic - - gocyclo - - godot - - goheader - - gomoddirectives - - gomodguard - - goprintffuncname - - gosec - - grouper - - importas - - inamedparam - - ineffassign - - ireturn - - lll - - loggercheck - - maintidx - - makezero - - misspell - - musttag - - nakedret - - nestif - - nilerr - - nilnil - - nlreturn - - noctx - - nolintlint - - nonamedreturns - - nosprintfhostport - - paralleltest - - prealloc - - predeclared - - promlinter - - reassign - - revive - - rowserrcheck - - sqlclosecheck - - staticcheck - - tagalign - - tagliatelle - - tparallel - - unconvert - - unparam - - unused - - varnamelen - - wastedassign - - whitespace - - wrapcheck - - wsl - -formatters: - disable: - - gci - - gofumpt - - goimports - -linters-settings: - errcheck: - exclude-functions: - - (github.com/libp2p/go-libp2p/network.MuxedStream).SetDeadline - - (github.com/data-preservation-programs/singularity/service.DatasetWorker).cleanup - revive: - rules: - - name: var-naming - disabled: true +version: "2" +run: + tests: false + +linters: + default: all + disable: + - asasalint + - asciicheck + - bidichk + - bodyclose + - canonicalheader + - containedctx + - contextcheck + - copyloopvar + - cyclop + - depguard + - dogsled + - dupl + - dupword + - err113 + - errcheck + - errname + - errorlint + - exhaustruct + - exptostd + - forbidigo + - forcetypeassert + - funcorder + - funlen + - gochecknoglobals + - gochecknoinits + - gocognit + - goconst + - gocritic + - gocyclo + - godot + - godox + - goheader + - gomoddirectives + - gomodguard + - goprintffuncname + - gosec + - grouper + - importas + - inamedparam + - ineffassign + - intrange + - interfacebloat + - ireturn + - lll + - loggercheck + - maintidx + - makezero + - misspell + - mnd + - musttag + - nakedret + - nestif + - nilerr + - nilnesserr + - nilnil + - nlreturn + - noctx + - nolintlint + - nonamedreturns + - nosprintfhostport + - paralleltest + - perfsprint + - prealloc + - predeclared + - promlinter + - reassign + - recvcheck + - revive + - rowserrcheck + - sqlclosecheck + - staticcheck + - tagalign + - tagliatelle + - tparallel + - unconvert + - unparam + - unused + - varnamelen + - wastedassign + - whitespace + - wrapcheck + - wsl + + exclusions: + paths: + - replication/internal + - cmd/embed + - docs + - dashboard/model2ts + - handler/datasource/generate + - handler/storage/gen + - cmd/testutil.go + +formatters: + disable: + - gci + - gofumpt + - goimports + +linters-settings: + errcheck: + exclude-functions: + - (github.com/libp2p/go-libp2p/network.MuxedStream).SetDeadline + - (github.com/data-preservation-programs/singularity/service.DatasetWorker).cleanup + revive: + rules: + - name: var-naming + disabled: true diff --git a/Makefile b/Makefile index 64c657c4..5eaf4d9f 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,7 @@ generate: check-go lint: check-go install-lint-deps gofmt -s -w . - golangci-lint run --no-config --fix --disable-all -E tagalign --timeout 10m + golangci-lint run --no-config --fix --default=none -E tagalign --timeout 10m golangci-lint run --fix --timeout 10m staticcheck ./... From f04d3c81a03ca46c53264b9d876a7e03bf1f27ed Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Wed, 30 Apr 2025 18:39:56 +0200 Subject: [PATCH 05/29] use modern `go install` instead of GO111MODULE --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 5eaf4d9f..12d21214 100644 --- a/Makefile +++ b/Makefile @@ -13,8 +13,8 @@ check-go: @which go > /dev/null || (echo "Go is not installed. Please install Go." && exit 1) install-lint-deps: - @which golangci-lint > /dev/null || (echo "Required golangci-lint not found. Installing it..." && GO111MODULE=on go get github.com/golangci/golangci-lint/cmd/golangci-lint@latest) - @which staticcheck > /dev/null || (echo "Required staticcheck not found. Installing it..." && GO111MODULE=on go get honnef.co/go/tools/cmd/staticcheck) + @which golangci-lint > /dev/null || (echo "Required golangci-lint not found. Installing it..." && go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest) + @which staticcheck > /dev/null || (echo "Required staticcheck not found. Installing it..." && go install honnef.co/go/tools/cmd/staticcheck@latest) install-test-deps: @which gotestsum > /dev/null || (echo "Installing gotestsum..." && GO111MODULE=on go get gotest.tools/gotestsum@latest) From c38e5112c9f2c03c8b013c9acab40aed60100186 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 00:37:17 +0200 Subject: [PATCH 06/29] modernize toolchain --- .github/actions/go-check-setup/action.yml | 9 +++++++-- .github/workflows/go-check.yml | 2 +- .golangci.yml | 22 +++++++++++----------- Makefile | 2 ++ 4 files changed, 21 insertions(+), 14 deletions(-) diff --git a/.github/actions/go-check-setup/action.yml b/.github/actions/go-check-setup/action.yml index 3c14a5ca..9b368154 100644 --- a/.github/actions/go-check-setup/action.yml +++ b/.github/actions/go-check-setup/action.yml @@ -13,8 +13,13 @@ runs: restore-keys: | ${{ matrix.os }}-golang-${{ matrix.go }}- + - name: Setup Go + uses: actions/setup-go@v5 + with: + go-version: ${{ inputs.go-version || 'stable' }} + - name: Lint - uses: golangci/golangci-lint-action@v3 + uses: golangci/golangci-lint-action@v7 with: - version: v1.55.2 + version: v2.1.2 args: --timeout=10m diff --git a/.github/workflows/go-check.yml b/.github/workflows/go-check.yml index 23292b90..6972415d 100644 --- a/.github/workflows/go-check.yml +++ b/.github/workflows/go-check.yml @@ -15,4 +15,4 @@ concurrency: jobs: go-check: - uses: ipdxco/unified-github-workflows/.github/workflows/go-check.yml@v1.0.17 + uses: ipdxco/unified-github-workflows/.github/workflows/go-check.yml@v1.0.22 diff --git a/.golangci.yml b/.golangci.yml index 883c2b9e..5442f364 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -88,6 +88,16 @@ linters: - wrapcheck - wsl + settings: + errcheck: + exclude-functions: + - (github.com/libp2p/go-libp2p/network.MuxedStream).SetDeadline + - (github.com/data-preservation-programs/singularity/service.DatasetWorker).cleanup + revive: + rules: + - name: var-naming + disabled: true + exclusions: paths: - replication/internal @@ -99,17 +109,7 @@ linters: - cmd/testutil.go formatters: - disable: + enable: - gci - gofumpt - goimports - -linters-settings: - errcheck: - exclude-functions: - - (github.com/libp2p/go-libp2p/network.MuxedStream).SetDeadline - - (github.com/data-preservation-programs/singularity/service.DatasetWorker).cleanup - revive: - rules: - - name: var-naming - disabled: true diff --git a/Makefile b/Makefile index 12d21214..597f2c4f 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,8 @@ generate: check-go go generate ./... lint: check-go install-lint-deps + @echo "Verifying golangci-lint configuration..." + golangci-lint config verify gofmt -s -w . golangci-lint run --no-config --fix --default=none -E tagalign --timeout 10m golangci-lint run --fix --timeout 10m From 1e8cba5f22a05cf1ddf245f0ee8ac33a0da7a3ca Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 00:45:08 +0200 Subject: [PATCH 07/29] fix linter errors --- analytics/analytics.go | 6 +- api/api.go | 11 +- cmd/ez/prep.go | 2 +- cmd/run/api.go | 24 +- handler/dataprep/listschedules.go | 3 +- handler/dataprep/remove.go | 1 - handler/deal/schedule/create.go | 7 +- handler/deal/send-manual.go | 5 +- handler/file/prepare.go | 3 +- handler/file/push.go | 1 - handler/job/daggen.go | 6 +- handler/job/pack.go | 15 +- handler/job/scan.go | 12 +- handler/storage/list.go | 3 +- handler/storage/remove.go | 3 +- handler/storage/types_gen.go | 3046 ++++++++++---------- handler/tool/extractcar.go | 7 +- handler/wallet/attach.go | 1 - handler/wallet/detach.go | 2 - migrate/types.go | 8 +- model/basetypes.go | 11 +- pack/assembler.go | 3 +- pack/daggen/directory.go | 6 +- pack/pack.go | 13 +- pack/packutil/util.go | 12 +- pack/push/pushfile.go | 6 +- replication/wallet.go | 3 +- scan/scan.go | 5 +- service/contentprovider/contentprovider.go | 3 +- service/datasetworker/datasetworker.go | 8 +- service/dealpusher/dealpusher.go | 17 +- service/dealtracker/dealtracker.go | 11 +- service/downloadserver/downloadserver.go | 3 +- service/healthcheck/healthcheck.go | 7 +- service/service.go | 1 - storagesystem/rclone.go | 8 +- storagesystem/types.go | 6 +- storagesystem/util.go | 6 +- store/item_reference.go | 1 - store/piece_store.go | 35 +- testdb/main.go | 3 +- util/car.go | 2 +- util/host.go | 12 +- util/testutil/testutils.go | 3 +- 44 files changed, 1693 insertions(+), 1658 deletions(-) diff --git a/analytics/analytics.go b/analytics/analytics.go index 6affaab1..6451c493 100644 --- a/analytics/analytics.go +++ b/analytics/analytics.go @@ -63,8 +63,10 @@ func Init(ctx context.Context, db *gorm.DB) error { return nil } -var Instance string -var Identity string +var ( + Instance string + Identity string +) type Collector struct { mu sync.Mutex diff --git a/api/api.go b/api/api.go index bdcc33d7..5fabb4a1 100644 --- a/api/api.go +++ b/api/api.go @@ -11,7 +11,10 @@ import ( "strconv" "time" + "github.com/cockroachdb/errors" "github.com/data-preservation-programs/singularity/analytics" + "github.com/data-preservation-programs/singularity/database" + _ "github.com/data-preservation-programs/singularity/docs/swagger" "github.com/data-preservation-programs/singularity/handler/admin" "github.com/data-preservation-programs/singularity/handler/dataprep" "github.com/data-preservation-programs/singularity/handler/deal" @@ -29,17 +32,13 @@ import ( "github.com/data-preservation-programs/singularity/service/contentprovider" "github.com/data-preservation-programs/singularity/util" "github.com/filecoin-project/lassie/pkg/lassie" - "github.com/libp2p/go-libp2p/core/host" - "github.com/ybbus/jsonrpc/v3" - - "github.com/cockroachdb/errors" - "github.com/data-preservation-programs/singularity/database" - _ "github.com/data-preservation-programs/singularity/docs/swagger" logging "github.com/ipfs/go-log/v2" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" + "github.com/libp2p/go-libp2p/core/host" echoSwagger "github.com/swaggo/echo-swagger" "github.com/urfave/cli/v2" + "github.com/ybbus/jsonrpc/v3" "gorm.io/gorm" ) diff --git a/cmd/ez/prep.go b/cmd/ez/prep.go index 64d9e2f2..ee1e2fd8 100644 --- a/cmd/ez/prep.go +++ b/cmd/ez/prep.go @@ -94,7 +94,7 @@ var PrepCmd = &cli.Command{ outputDir := c.String("output-dir") var outputStorages []string if outputDir != "" { - err = os.MkdirAll(outputDir, 0755) + err = os.MkdirAll(outputDir, 0o755) if err != nil { return errors.Wrap(err, "failed to create output directory") } diff --git a/cmd/run/api.go b/cmd/run/api.go index eb22d571..a7c84c9e 100644 --- a/cmd/run/api.go +++ b/cmd/run/api.go @@ -5,17 +5,15 @@ import ( "github.com/urfave/cli/v2" ) -var ( - APICmd = &cli.Command{ - Name: "api", - Usage: "Run the singularity API", - Flags: []cli.Flag{ - &cli.StringFlag{ - Name: "bind", - Usage: "Bind address for the API server", - Value: ":9090", - }, +var APICmd = &cli.Command{ + Name: "api", + Usage: "Run the singularity API", + Flags: []cli.Flag{ + &cli.StringFlag{ + Name: "bind", + Usage: "Bind address for the API server", + Value: ":9090", }, - Action: api.Run, - } -) + }, + Action: api.Run, +} diff --git a/handler/dataprep/listschedules.go b/handler/dataprep/listschedules.go index 666692a1..d5c2e07f 100644 --- a/handler/dataprep/listschedules.go +++ b/handler/dataprep/listschedules.go @@ -25,7 +25,8 @@ import ( func (DefaultHandler) ListSchedulesHandler( ctx context.Context, db *gorm.DB, - id string) ([]model.Schedule, error) { + id string, +) ([]model.Schedule, error) { db = db.WithContext(ctx) var preparation model.Preparation diff --git a/handler/dataprep/remove.go b/handler/dataprep/remove.go index 83e7fad5..d3000957 100644 --- a/handler/dataprep/remove.go +++ b/handler/dataprep/remove.go @@ -57,7 +57,6 @@ func (DefaultHandler) RemovePreparationHandler(ctx context.Context, db *gorm.DB, return db.Delete(&preparation).Error }) }) - if err != nil { return errors.WithStack(err) } diff --git a/handler/deal/schedule/create.go b/handler/deal/schedule/create.go index 5dae3611..6c5fc0ed 100644 --- a/handler/deal/schedule/create.go +++ b/handler/deal/schedule/create.go @@ -7,15 +7,14 @@ import ( "strings" "time" - "github.com/data-preservation-programs/singularity/handler/handlererror" - "github.com/rjNemo/underscore" - "github.com/robfig/cron/v3" - "github.com/cockroachdb/errors" "github.com/data-preservation-programs/singularity/database" + "github.com/data-preservation-programs/singularity/handler/handlererror" "github.com/data-preservation-programs/singularity/model" "github.com/dustin/go-humanize" "github.com/ipfs/go-cid" + "github.com/rjNemo/underscore" + "github.com/robfig/cron/v3" "github.com/ybbus/jsonrpc/v3" "gorm.io/gorm" ) diff --git a/handler/deal/send-manual.go b/handler/deal/send-manual.go index 220eef88..498cc7bb 100644 --- a/handler/deal/send-manual.go +++ b/handler/deal/send-manual.go @@ -7,12 +7,11 @@ import ( "strings" "time" - "github.com/data-preservation-programs/singularity/handler/handlererror" - "github.com/dustin/go-humanize" - "github.com/cockroachdb/errors" + "github.com/data-preservation-programs/singularity/handler/handlererror" "github.com/data-preservation-programs/singularity/model" "github.com/data-preservation-programs/singularity/replication" + "github.com/dustin/go-humanize" "github.com/ipfs/go-cid" "gorm.io/gorm" ) diff --git a/handler/file/prepare.go b/handler/file/prepare.go index b561c626..fb4f3e0d 100644 --- a/handler/file/prepare.go +++ b/handler/file/prepare.go @@ -13,7 +13,8 @@ import ( func (DefaultHandler) PrepareToPackFileHandler( ctx context.Context, db *gorm.DB, - fileID uint64) (int64, error) { + fileID uint64, +) (int64, error) { db = db.WithContext(ctx) var file model.File err := db.Preload("Attachment.Preparation").Where("id = ?", fileID).First(&file).Error diff --git a/handler/file/push.go b/handler/file/push.go index 518146ef..36ab01bb 100644 --- a/handler/file/push.go +++ b/handler/file/push.go @@ -67,7 +67,6 @@ func (DefaultHandler) PushFileHandler( } file, fileRanges, err := push.PushFile(ctx, db, obj, attachment, map[string]model.DirectoryID{}) - if err != nil { return nil, errors.WithStack(err) } diff --git a/handler/job/daggen.go b/handler/job/daggen.go index 12557498..68033d55 100644 --- a/handler/job/daggen.go +++ b/handler/job/daggen.go @@ -24,7 +24,8 @@ func (DefaultHandler) StartDagGenHandler( ctx context.Context, db *gorm.DB, id string, - name string) (*model.Job, error) { + name string, +) (*model.Job, error) { return StartJobHandler(ctx, db, id, name, model.DagGen) } @@ -58,7 +59,8 @@ func (DefaultHandler) PauseDagGenHandler( ctx context.Context, db *gorm.DB, id string, - name string) (*model.Job, error) { + name string, +) (*model.Job, error) { return PauseJobHandler(ctx, db, id, name, model.DagGen) } diff --git a/handler/job/pack.go b/handler/job/pack.go index 0452db6d..3039defe 100644 --- a/handler/job/pack.go +++ b/handler/job/pack.go @@ -14,8 +14,10 @@ import ( "gorm.io/gorm" ) -var startableStatesForPack = []model.JobState{model.Paused, model.Created, model.Error} -var pausableStatesForPack = []model.JobState{model.Processing, model.Ready} +var ( + startableStatesForPack = []model.JobState{model.Paused, model.Created, model.Error} + pausableStatesForPack = []model.JobState{model.Processing, model.Ready} +) // StartPackHandler initiates pack jobs for a given source storage. // @@ -40,7 +42,8 @@ func (DefaultHandler) StartPackHandler( db *gorm.DB, id string, name string, - jobID int64) ([]model.Job, error) { + jobID int64, +) ([]model.Job, error) { db = db.WithContext(ctx) sourceAttachment, err := validateSourceStorage(ctx, db, id, name) if err != nil { @@ -147,7 +150,8 @@ func (DefaultHandler) PausePackHandler( db *gorm.DB, id string, name string, - jobID int64) ([]model.Job, error) { + jobID int64, +) ([]model.Job, error) { db = db.WithContext(ctx) sourceAttachment, err := validateSourceStorage(ctx, db, id, name) if err != nil { @@ -216,7 +220,8 @@ func (DefaultHandler) PausePackHandler( func (DefaultHandler) PackHandler( ctx context.Context, db *gorm.DB, - jobID uint64) (*model.Car, error) { + jobID uint64, +) (*model.Car, error) { db = db.WithContext(ctx) var packJob model.Job err := db. diff --git a/handler/job/scan.go b/handler/job/scan.go index ca71c2f9..23de9294 100644 --- a/handler/job/scan.go +++ b/handler/job/scan.go @@ -53,7 +53,8 @@ func StartJobHandler( db *gorm.DB, id string, name string, - jobType model.JobType) (*model.Job, error) { + jobType model.JobType, +) (*model.Job, error) { db = db.WithContext(ctx) sourceAttachment, err := validateSourceStorage(ctx, db, id, name) if err != nil { @@ -95,7 +96,8 @@ func (DefaultHandler) StartScanHandler( ctx context.Context, db *gorm.DB, id string, - name string) (*model.Job, error) { + name string, +) (*model.Job, error) { return StartJobHandler(ctx, db, id, name, model.Scan) } @@ -134,7 +136,8 @@ func PauseJobHandler( db *gorm.DB, id string, name string, - jobType model.JobType) (*model.Job, error) { + jobType model.JobType, +) (*model.Job, error) { db = db.WithContext(ctx) sourceAttachment, err := validateSourceStorage(ctx, db, id, name) if err != nil { @@ -163,7 +166,8 @@ func (DefaultHandler) PauseScanHandler( ctx context.Context, db *gorm.DB, id string, - name string) (*model.Job, error) { + name string, +) (*model.Job, error) { return PauseJobHandler(ctx, db, id, name, model.Scan) } diff --git a/handler/storage/list.go b/handler/storage/list.go index 06e126cf..4dc2b300 100644 --- a/handler/storage/list.go +++ b/handler/storage/list.go @@ -19,7 +19,8 @@ import ( // - An error, if any occurred during the operation. func (DefaultHandler) ListStoragesHandler( ctx context.Context, - db *gorm.DB) ([]model.Storage, error) { + db *gorm.DB, +) ([]model.Storage, error) { db = db.WithContext(ctx) var storages []model.Storage if err := db.Preload("PreparationsAsSource").Preload("PreparationsAsOutput").Find(&storages).Error; err != nil { diff --git a/handler/storage/remove.go b/handler/storage/remove.go index e4d32457..742554a6 100644 --- a/handler/storage/remove.go +++ b/handler/storage/remove.go @@ -25,7 +25,8 @@ import ( func (DefaultHandler) RemoveHandler( ctx context.Context, db *gorm.DB, - name string) error { + name string, +) error { db = db.WithContext(ctx) err := database.DoRetry(ctx, func() error { return db.Transaction(func(db *gorm.DB) error { diff --git a/handler/storage/types_gen.go b/handler/storage/types_gen.go index 91408d6d..e8dc9b60 100644 --- a/handler/storage/types_gen.go +++ b/handler/storage/types_gen.go @@ -6,19 +6,19 @@ package storage import "github.com/data-preservation-programs/singularity/model" type acdConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - Checkpoint string `json:"checkpoint"` // Checkpoint for internal polling (debug). - UploadWaitPerGb string `json:"uploadWaitPerGb" default:"3m0s"` // Additional time per GiB to wait after a failed complete upload to see if it appears. - TemplinkThreshold string `json:"templinkThreshold" default:"9Gi"` // Files >= this size will be downloaded via their tempLink. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + Checkpoint string `json:"checkpoint"` // Checkpoint for internal polling (debug). + UploadWaitPerGb string `default:"3m0s" json:"uploadWaitPerGb"` // Additional time per GiB to wait after a failed complete upload to see if it appears. + TemplinkThreshold string `default:"9Gi" json:"templinkThreshold"` // Files >= this size will be downloaded via their tempLink. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createAcdStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config acdConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -37,42 +37,42 @@ type createAcdStorageRequest struct { func createAcdStorage() {} type azureblobConfig struct { - Account string `json:"account"` // Azure Storage Account Name. - EnvAuth bool `json:"envAuth" default:"false"` // Read credentials from runtime (environment variables, CLI or MSI). - Key string `json:"key"` // Storage Account Shared Key. - SasUrl string `json:"sasUrl"` // SAS URL for container level access only. - Tenant string `json:"tenant"` // ID of the service principal's tenant. Also called its directory ID. - ClientId string `json:"clientId"` // The ID of the client in use. - ClientSecret string `json:"clientSecret"` // One of the service principal's client secrets - ClientCertificatePath string `json:"clientCertificatePath"` // Path to a PEM or PKCS12 certificate file including the private key. - ClientCertificatePassword string `json:"clientCertificatePassword"` // Password for the certificate file (optional). - ClientSendCertificateChain bool `json:"clientSendCertificateChain" default:"false"` // Send the certificate chain when using certificate auth. - Username string `json:"username"` // User name (usually an email address) - Password string `json:"password"` // The user's password - ServicePrincipalFile string `json:"servicePrincipalFile"` // Path to file containing credentials for use with a service principal. - UseMsi bool `json:"useMsi" default:"false"` // Use a managed service identity to authenticate (only works in Azure). - MsiObjectId string `json:"msiObjectId"` // Object ID of the user-assigned MSI to use, if any. - MsiClientId string `json:"msiClientId"` // Object ID of the user-assigned MSI to use, if any. - MsiMiResId string `json:"msiMiResId"` // Azure resource ID of the user-assigned MSI to use, if any. - UseEmulator bool `json:"useEmulator" default:"false"` // Uses local storage emulator if provided as 'true'. - Endpoint string `json:"endpoint"` // Endpoint for the service. - UploadCutoff string `json:"uploadCutoff"` // Cutoff for switching to chunked upload (<= 256 MiB) (deprecated). - ChunkSize string `json:"chunkSize" default:"4Mi"` // Upload chunk size. - UploadConcurrency int `json:"uploadConcurrency" default:"16"` // Concurrency for multipart uploads. - ListChunk int `json:"listChunk" default:"5000"` // Size of blob list. - AccessTier string `json:"accessTier"` // Access tier of blob: hot, cool or archive. - ArchiveTierDelete bool `json:"archiveTierDelete" default:"false"` // Delete archive tier blobs before overwriting. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8"` // The encoding for the backend. - PublicAccess string `json:"publicAccess" example:""` // Public access level of a container: blob or container. - NoCheckContainer bool `json:"noCheckContainer" default:"false"` // If set, don't attempt to check the container exists or create it. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Account string `json:"account"` // Azure Storage Account Name. + EnvAuth bool `default:"false" json:"envAuth"` // Read credentials from runtime (environment variables, CLI or MSI). + Key string `json:"key"` // Storage Account Shared Key. + SasUrl string `json:"sasUrl"` // SAS URL for container level access only. + Tenant string `json:"tenant"` // ID of the service principal's tenant. Also called its directory ID. + ClientId string `json:"clientId"` // The ID of the client in use. + ClientSecret string `json:"clientSecret"` // One of the service principal's client secrets + ClientCertificatePath string `json:"clientCertificatePath"` // Path to a PEM or PKCS12 certificate file including the private key. + ClientCertificatePassword string `json:"clientCertificatePassword"` // Password for the certificate file (optional). + ClientSendCertificateChain bool `default:"false" json:"clientSendCertificateChain"` // Send the certificate chain when using certificate auth. + Username string `json:"username"` // User name (usually an email address) + Password string `json:"password"` // The user's password + ServicePrincipalFile string `json:"servicePrincipalFile"` // Path to file containing credentials for use with a service principal. + UseMsi bool `default:"false" json:"useMsi"` // Use a managed service identity to authenticate (only works in Azure). + MsiObjectId string `json:"msiObjectId"` // Object ID of the user-assigned MSI to use, if any. + MsiClientId string `json:"msiClientId"` // Object ID of the user-assigned MSI to use, if any. + MsiMiResId string `json:"msiMiResId"` // Azure resource ID of the user-assigned MSI to use, if any. + UseEmulator bool `default:"false" json:"useEmulator"` // Uses local storage emulator if provided as 'true'. + Endpoint string `json:"endpoint"` // Endpoint for the service. + UploadCutoff string `json:"uploadCutoff"` // Cutoff for switching to chunked upload (<= 256 MiB) (deprecated). + ChunkSize string `default:"4Mi" json:"chunkSize"` // Upload chunk size. + UploadConcurrency int `default:"16" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ListChunk int `default:"5000" json:"listChunk"` // Size of blob list. + AccessTier string `json:"accessTier"` // Access tier of blob: hot, cool or archive. + ArchiveTierDelete bool `default:"false" json:"archiveTierDelete"` // Delete archive tier blobs before overwriting. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + Encoding string `default:"Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8" json:"encoding"` // The encoding for the backend. + PublicAccess string `example:"" json:"publicAccess"` // Public access level of a container: blob or container. + NoCheckContainer bool `default:"false" json:"noCheckContainer"` // If set, don't attempt to check the container exists or create it. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. } type createAzureblobStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config azureblobConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -91,26 +91,26 @@ type createAzureblobStorageRequest struct { func createAzureblobStorage() {} type b2Config struct { - Account string `json:"account"` // Account ID or Application Key ID. - Key string `json:"key"` // Application Key. - Endpoint string `json:"endpoint"` // Endpoint for the service. - TestMode string `json:"testMode"` // A flag string for X-Bz-Test-Mode header for debugging. - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - HardDelete bool `json:"hardDelete" default:"false"` // Permanently delete files on remote removal, otherwise hide files. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - CopyCutoff string `json:"copyCutoff" default:"4Gi"` // Cutoff for switching to multipart copy. - ChunkSize string `json:"chunkSize" default:"96Mi"` // Upload chunk size. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Disable checksums for large (> upload cutoff) files. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - DownloadAuthDuration string `json:"downloadAuthDuration" default:"1w"` // Time before the authorization token will expire in s or suffix ms|s|m|h|d. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. + Account string `json:"account"` // Account ID or Application Key ID. + Key string `json:"key"` // Application Key. + Endpoint string `json:"endpoint"` // Endpoint for the service. + TestMode string `json:"testMode"` // A flag string for X-Bz-Test-Mode header for debugging. + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + HardDelete bool `default:"false" json:"hardDelete"` // Permanently delete files on remote removal, otherwise hide files. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + CopyCutoff string `default:"4Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + ChunkSize string `default:"96Mi" json:"chunkSize"` // Upload chunk size. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Disable checksums for large (> upload cutoff) files. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + DownloadAuthDuration string `default:"1w" json:"downloadAuthDuration"` // Time before the authorization token will expire in s or suffix ms|s|m|h|d. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + Encoding string `default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createB2StorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config b2Config `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -129,24 +129,24 @@ type createB2StorageRequest struct { func createB2Storage() {} type boxConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - RootFolderId string `json:"rootFolderId" default:"0"` // Fill in for rclone to use a non root folder as its starting point. - BoxConfigFile string `json:"boxConfigFile"` // Box App config.json location - AccessToken string `json:"accessToken"` // Box App Primary Access Token - BoxSubType string `json:"boxSubType" default:"user" example:"user"` // - UploadCutoff string `json:"uploadCutoff" default:"50Mi"` // Cutoff for switching to multipart upload (>= 50 MiB). - CommitRetries int `json:"commitRetries" default:"100"` // Max number of times to try committing a multipart file. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk 1-1000. - OwnedBy string `json:"ownedBy"` // Only show items owned by the login (email address) passed in. - Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot"` // The encoding for the backend. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + RootFolderId string `default:"0" json:"rootFolderId"` // Fill in for rclone to use a non root folder as its starting point. + BoxConfigFile string `json:"boxConfigFile"` // Box App config.json location + AccessToken string `json:"accessToken"` // Box App Primary Access Token + BoxSubType string `default:"user" example:"user" json:"boxSubType"` // + UploadCutoff string `default:"50Mi" json:"uploadCutoff"` // Cutoff for switching to multipart upload (>= 50 MiB). + CommitRetries int `default:"100" json:"commitRetries"` // Max number of times to try committing a multipart file. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk 1-1000. + OwnedBy string `json:"ownedBy"` // Only show items owned by the login (email address) passed in. + Encoding string `default:"Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createBoxStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config boxConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -165,53 +165,53 @@ type createBoxStorageRequest struct { func createBoxStorage() {} type driveConfig struct { - ClientId string `json:"clientId"` // Google Application Client Id - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - Scope string `json:"scope" example:"drive"` // Scope that rclone should use when requesting access from drive. - RootFolderId string `json:"rootFolderId"` // ID of the root folder. - ServiceAccountFile string `json:"serviceAccountFile"` // Service Account Credentials JSON file path. - ServiceAccountCredentials string `json:"serviceAccountCredentials"` // Service Account Credentials JSON blob. - TeamDrive string `json:"teamDrive"` // ID of the Shared Drive (Team Drive). - AuthOwnerOnly bool `json:"authOwnerOnly" default:"false"` // Only consider files owned by the authenticated user. - UseTrash bool `json:"useTrash" default:"true"` // Send files to the trash instead of deleting permanently. - CopyShortcutContent bool `json:"copyShortcutContent" default:"false"` // Server side copy contents of shortcuts instead of the shortcut. - SkipGdocs bool `json:"skipGdocs" default:"false"` // Skip google documents in all listings. - SkipChecksumGphotos bool `json:"skipChecksumGphotos" default:"false"` // Skip MD5 checksum on Google photos and videos only. - SharedWithMe bool `json:"sharedWithMe" default:"false"` // Only show files that are shared with me. - TrashedOnly bool `json:"trashedOnly" default:"false"` // Only show files that are in the trash. - StarredOnly bool `json:"starredOnly" default:"false"` // Only show files that are starred. - Formats string `json:"formats"` // Deprecated: See export_formats. - ExportFormats string `json:"exportFormats" default:"docx,xlsx,pptx,svg"` // Comma separated list of preferred formats for downloading Google docs. - ImportFormats string `json:"importFormats"` // Comma separated list of preferred formats for uploading Google docs. - AllowImportNameChange bool `json:"allowImportNameChange" default:"false"` // Allow the filetype to change when uploading Google docs. - UseCreatedDate bool `json:"useCreatedDate" default:"false"` // Use file created date instead of modified date. - UseSharedDate bool `json:"useSharedDate" default:"false"` // Use date file was shared instead of modified date. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk 100-1000, 0 to disable. - Impersonate string `json:"impersonate"` // Impersonate this user when using a service account. - AlternateExport bool `json:"alternateExport" default:"false"` // Deprecated: No longer needed. - UploadCutoff string `json:"uploadCutoff" default:"8Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"8Mi"` // Upload chunk size. - AcknowledgeAbuse bool `json:"acknowledgeAbuse" default:"false"` // Set to allow files which return cannotDownloadAbusiveFile to be downloaded. - KeepRevisionForever bool `json:"keepRevisionForever" default:"false"` // Keep new head revision of each file forever. - SizeAsQuota bool `json:"sizeAsQuota" default:"false"` // Show sizes as storage quota usage, not actual size. - V2DownloadMinSize string `json:"v2DownloadMinSize" default:"off"` // If Object's are greater, use drive v2 API to download. - PacerMinSleep string `json:"pacerMinSleep" default:"100ms"` // Minimum time to sleep between API calls. - PacerBurst int `json:"pacerBurst" default:"100"` // Number of API calls to allow without sleeping. - ServerSideAcrossConfigs bool `json:"serverSideAcrossConfigs" default:"false"` // Allow server-side operations (e.g. copy) to work across different drive configs. - DisableHttp2 bool `json:"disableHttp2" default:"true"` // Disable drive using http2. - StopOnUploadLimit bool `json:"stopOnUploadLimit" default:"false"` // Make upload limit errors be fatal. - StopOnDownloadLimit bool `json:"stopOnDownloadLimit" default:"false"` // Make download limit errors be fatal. - SkipShortcuts bool `json:"skipShortcuts" default:"false"` // If set skip shortcut files. - SkipDanglingShortcuts bool `json:"skipDanglingShortcuts" default:"false"` // If set skip dangling shortcut files. - ResourceKey string `json:"resourceKey"` // Resource key for accessing a link-shared file. - Encoding string `json:"encoding" default:"InvalidUtf8"` // The encoding for the backend. + ClientId string `json:"clientId"` // Google Application Client Id + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + Scope string `example:"drive" json:"scope"` // Scope that rclone should use when requesting access from drive. + RootFolderId string `json:"rootFolderId"` // ID of the root folder. + ServiceAccountFile string `json:"serviceAccountFile"` // Service Account Credentials JSON file path. + ServiceAccountCredentials string `json:"serviceAccountCredentials"` // Service Account Credentials JSON blob. + TeamDrive string `json:"teamDrive"` // ID of the Shared Drive (Team Drive). + AuthOwnerOnly bool `default:"false" json:"authOwnerOnly"` // Only consider files owned by the authenticated user. + UseTrash bool `default:"true" json:"useTrash"` // Send files to the trash instead of deleting permanently. + CopyShortcutContent bool `default:"false" json:"copyShortcutContent"` // Server side copy contents of shortcuts instead of the shortcut. + SkipGdocs bool `default:"false" json:"skipGdocs"` // Skip google documents in all listings. + SkipChecksumGphotos bool `default:"false" json:"skipChecksumGphotos"` // Skip MD5 checksum on Google photos and videos only. + SharedWithMe bool `default:"false" json:"sharedWithMe"` // Only show files that are shared with me. + TrashedOnly bool `default:"false" json:"trashedOnly"` // Only show files that are in the trash. + StarredOnly bool `default:"false" json:"starredOnly"` // Only show files that are starred. + Formats string `json:"formats"` // Deprecated: See export_formats. + ExportFormats string `default:"docx,xlsx,pptx,svg" json:"exportFormats"` // Comma separated list of preferred formats for downloading Google docs. + ImportFormats string `json:"importFormats"` // Comma separated list of preferred formats for uploading Google docs. + AllowImportNameChange bool `default:"false" json:"allowImportNameChange"` // Allow the filetype to change when uploading Google docs. + UseCreatedDate bool `default:"false" json:"useCreatedDate"` // Use file created date instead of modified date. + UseSharedDate bool `default:"false" json:"useSharedDate"` // Use date file was shared instead of modified date. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk 100-1000, 0 to disable. + Impersonate string `json:"impersonate"` // Impersonate this user when using a service account. + AlternateExport bool `default:"false" json:"alternateExport"` // Deprecated: No longer needed. + UploadCutoff string `default:"8Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"8Mi" json:"chunkSize"` // Upload chunk size. + AcknowledgeAbuse bool `default:"false" json:"acknowledgeAbuse"` // Set to allow files which return cannotDownloadAbusiveFile to be downloaded. + KeepRevisionForever bool `default:"false" json:"keepRevisionForever"` // Keep new head revision of each file forever. + SizeAsQuota bool `default:"false" json:"sizeAsQuota"` // Show sizes as storage quota usage, not actual size. + V2DownloadMinSize string `default:"off" json:"v2DownloadMinSize"` // If Object's are greater, use drive v2 API to download. + PacerMinSleep string `default:"100ms" json:"pacerMinSleep"` // Minimum time to sleep between API calls. + PacerBurst int `default:"100" json:"pacerBurst"` // Number of API calls to allow without sleeping. + ServerSideAcrossConfigs bool `default:"false" json:"serverSideAcrossConfigs"` // Allow server-side operations (e.g. copy) to work across different drive configs. + DisableHttp2 bool `default:"true" json:"disableHttp2"` // Disable drive using http2. + StopOnUploadLimit bool `default:"false" json:"stopOnUploadLimit"` // Make upload limit errors be fatal. + StopOnDownloadLimit bool `default:"false" json:"stopOnDownloadLimit"` // Make download limit errors be fatal. + SkipShortcuts bool `default:"false" json:"skipShortcuts"` // If set skip shortcut files. + SkipDanglingShortcuts bool `default:"false" json:"skipDanglingShortcuts"` // If set skip dangling shortcut files. + ResourceKey string `json:"resourceKey"` // Resource key for accessing a link-shared file. + Encoding string `default:"InvalidUtf8" json:"encoding"` // The encoding for the backend. } type createDriveStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config driveConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -230,24 +230,24 @@ type createDriveStorageRequest struct { func createDriveStorage() {} type dropboxConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - ChunkSize string `json:"chunkSize" default:"48Mi"` // Upload chunk size (< 150Mi). - Impersonate string `json:"impersonate"` // Impersonate this user when using a business account. - SharedFiles bool `json:"sharedFiles" default:"false"` // Instructs rclone to work on individual shared files. - SharedFolders bool `json:"sharedFolders" default:"false"` // Instructs rclone to work on shared folders. - BatchMode string `json:"batchMode" default:"sync"` // Upload file batching sync|async|off. - BatchSize int `json:"batchSize" default:"0"` // Max number of files in upload batch. - BatchTimeout string `json:"batchTimeout" default:"0s"` // Max time to allow an idle upload batch before uploading. - BatchCommitTimeout string `json:"batchCommitTimeout" default:"10m0s"` // Max time to wait for a batch to finish committing - Encoding string `json:"encoding" default:"Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot"` // The encoding for the backend. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + ChunkSize string `default:"48Mi" json:"chunkSize"` // Upload chunk size (< 150Mi). + Impersonate string `json:"impersonate"` // Impersonate this user when using a business account. + SharedFiles bool `default:"false" json:"sharedFiles"` // Instructs rclone to work on individual shared files. + SharedFolders bool `default:"false" json:"sharedFolders"` // Instructs rclone to work on shared folders. + BatchMode string `default:"sync" json:"batchMode"` // Upload file batching sync|async|off. + BatchSize int `default:"0" json:"batchSize"` // Max number of files in upload batch. + BatchTimeout string `default:"0s" json:"batchTimeout"` // Max time to allow an idle upload batch before uploading. + BatchCommitTimeout string `default:"10m0s" json:"batchCommitTimeout"` // Max time to wait for a batch to finish committing + Encoding string `default:"Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createDropboxStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config dropboxConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -270,11 +270,11 @@ type fichierConfig struct { SharedFolder string `json:"sharedFolder"` // If you want to download a shared folder, add this parameter. FilePassword string `json:"filePassword"` // If you want to download a shared file that is password protected, add this parameter. FolderPassword string `json:"folderPassword"` // If you want to list the files in a shared folder that is password protected, add this parameter. - Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot"` // The encoding for the backend. + Encoding string `default:"Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createFichierStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config fichierConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -293,17 +293,17 @@ type createFichierStorageRequest struct { func createFichierStorage() {} type filefabricConfig struct { - Url string `json:"url" example:"https://storagemadeeasy.com"` // URL of the Enterprise File Fabric to connect to. + Url string `example:"https://storagemadeeasy.com" json:"url"` // URL of the Enterprise File Fabric to connect to. RootFolderId string `json:"rootFolderId"` // ID of the root folder. PermanentToken string `json:"permanentToken"` // Permanent Authentication Token. Token string `json:"token"` // Session Token. TokenExpiry string `json:"tokenExpiry"` // Token expiry time. Version string `json:"version"` // Version read from the file fabric. - Encoding string `json:"encoding" default:"Slash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. + Encoding string `default:"Slash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createFilefabricStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config filefabricConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -323,29 +323,29 @@ func createFilefabricStorage() {} type ftpConfig struct { Host string `json:"host"` // FTP host to connect to. - User string `json:"user" default:"$USER"` // FTP username. - Port int `json:"port" default:"21"` // FTP port number. + User string `default:"$USER" json:"user"` // FTP username. + Port int `default:"21" json:"port"` // FTP port number. Pass string `json:"pass"` // FTP password. - Tls bool `json:"tls" default:"false"` // Use Implicit FTPS (FTP over TLS). - ExplicitTls bool `json:"explicitTls" default:"false"` // Use Explicit FTPS (FTP over TLS). - Concurrency int `json:"concurrency" default:"0"` // Maximum number of FTP simultaneous connections, 0 for unlimited. - NoCheckCertificate bool `json:"noCheckCertificate" default:"false"` // Do not verify the TLS certificate of the server. - DisableEpsv bool `json:"disableEpsv" default:"false"` // Disable using EPSV even if server advertises support. - DisableMlsd bool `json:"disableMlsd" default:"false"` // Disable using MLSD even if server advertises support. - DisableUtf8 bool `json:"disableUtf8" default:"false"` // Disable using UTF-8 even if server advertises support. - WritingMdtm bool `json:"writingMdtm" default:"false"` // Use MDTM to set modification time (VsFtpd quirk) - ForceListHidden bool `json:"forceListHidden" default:"false"` // Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD. - IdleTimeout string `json:"idleTimeout" default:"1m0s"` // Max time before closing idle connections. - CloseTimeout string `json:"closeTimeout" default:"1m0s"` // Maximum time to wait for a response to close. - TlsCacheSize int `json:"tlsCacheSize" default:"32"` // Size of TLS session cache for all control and data connections. - DisableTls13 bool `json:"disableTls13" default:"false"` // Disable TLS 1.3 (workaround for FTP servers with buggy TLS) - ShutTimeout string `json:"shutTimeout" default:"1m0s"` // Maximum time to wait for data connection closing status. - AskPassword bool `json:"askPassword" default:"false"` // Allow asking for FTP password when needed. - Encoding string `json:"encoding" default:"Slash,Del,Ctl,RightSpace,Dot" example:"Asterisk,Ctl,Dot,Slash"` // The encoding for the backend. + Tls bool `default:"false" json:"tls"` // Use Implicit FTPS (FTP over TLS). + ExplicitTls bool `default:"false" json:"explicitTls"` // Use Explicit FTPS (FTP over TLS). + Concurrency int `default:"0" json:"concurrency"` // Maximum number of FTP simultaneous connections, 0 for unlimited. + NoCheckCertificate bool `default:"false" json:"noCheckCertificate"` // Do not verify the TLS certificate of the server. + DisableEpsv bool `default:"false" json:"disableEpsv"` // Disable using EPSV even if server advertises support. + DisableMlsd bool `default:"false" json:"disableMlsd"` // Disable using MLSD even if server advertises support. + DisableUtf8 bool `default:"false" json:"disableUtf8"` // Disable using UTF-8 even if server advertises support. + WritingMdtm bool `default:"false" json:"writingMdtm"` // Use MDTM to set modification time (VsFtpd quirk) + ForceListHidden bool `default:"false" json:"forceListHidden"` // Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD. + IdleTimeout string `default:"1m0s" json:"idleTimeout"` // Max time before closing idle connections. + CloseTimeout string `default:"1m0s" json:"closeTimeout"` // Maximum time to wait for a response to close. + TlsCacheSize int `default:"32" json:"tlsCacheSize"` // Size of TLS session cache for all control and data connections. + DisableTls13 bool `default:"false" json:"disableTls13"` // Disable TLS 1.3 (workaround for FTP servers with buggy TLS) + ShutTimeout string `default:"1m0s" json:"shutTimeout"` // Maximum time to wait for data connection closing status. + AskPassword bool `default:"false" json:"askPassword"` // Allow asking for FTP password when needed. + Encoding string `default:"Slash,Del,Ctl,RightSpace,Dot" example:"Asterisk,Ctl,Dot,Slash" json:"encoding"` // The encoding for the backend. } type createFtpStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config ftpConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -364,29 +364,29 @@ type createFtpStorageRequest struct { func createFtpStorage() {} type gcsConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - ProjectNumber string `json:"projectNumber"` // Project number. - ServiceAccountFile string `json:"serviceAccountFile"` // Service Account Credentials JSON file path. - ServiceAccountCredentials string `json:"serviceAccountCredentials"` // Service Account Credentials JSON blob. - Anonymous bool `json:"anonymous" default:"false"` // Access public buckets and objects without credentials. - ObjectAcl string `json:"objectAcl" example:"authenticatedRead"` // Access Control List for new objects. - BucketAcl string `json:"bucketAcl" example:"authenticatedRead"` // Access Control List for new buckets. - BucketPolicyOnly bool `json:"bucketPolicyOnly" default:"false"` // Access checks should use bucket-level IAM policies. - Location string `json:"location" example:""` // Location for the newly created buckets. - StorageClass string `json:"storageClass" example:""` // The storage class to use when storing objects in Google Cloud Storage. - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - Endpoint string `json:"endpoint"` // Endpoint for the service. - Encoding string `json:"encoding" default:"Slash,CrLf,InvalidUtf8,Dot"` // The encoding for the backend. - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get GCP IAM credentials from runtime (environment variables or instance meta data if no env vars). + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + ProjectNumber string `json:"projectNumber"` // Project number. + ServiceAccountFile string `json:"serviceAccountFile"` // Service Account Credentials JSON file path. + ServiceAccountCredentials string `json:"serviceAccountCredentials"` // Service Account Credentials JSON blob. + Anonymous bool `default:"false" json:"anonymous"` // Access public buckets and objects without credentials. + ObjectAcl string `example:"authenticatedRead" json:"objectAcl"` // Access Control List for new objects. + BucketAcl string `example:"authenticatedRead" json:"bucketAcl"` // Access Control List for new buckets. + BucketPolicyOnly bool `default:"false" json:"bucketPolicyOnly"` // Access checks should use bucket-level IAM policies. + Location string `example:"" json:"location"` // Location for the newly created buckets. + StorageClass string `example:"" json:"storageClass"` // The storage class to use when storing objects in Google Cloud Storage. + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + Endpoint string `json:"endpoint"` // Endpoint for the service. + Encoding string `default:"Slash,CrLf,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get GCP IAM credentials from runtime (environment variables or instance meta data if no env vars). } type createGcsStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config gcsConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -405,20 +405,20 @@ type createGcsStorageRequest struct { func createGcsStorage() {} type gphotosConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - ReadOnly bool `json:"readOnly" default:"false"` // Set to make the Google Photos backend read only. - ReadSize bool `json:"readSize" default:"false"` // Set to read the size of media items. - StartYear int `json:"startYear" default:"2000"` // Year limits the photos to be downloaded to those which are uploaded after the given year. - IncludeArchived bool `json:"includeArchived" default:"false"` // Also view and download archived media. - Encoding string `json:"encoding" default:"Slash,CrLf,InvalidUtf8,Dot"` // The encoding for the backend. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + ReadOnly bool `default:"false" json:"readOnly"` // Set to make the Google Photos backend read only. + ReadSize bool `default:"false" json:"readSize"` // Set to read the size of media items. + StartYear int `default:"2000" json:"startYear"` // Year limits the photos to be downloaded to those which are uploaded after the given year. + IncludeArchived bool `default:"false" json:"includeArchived"` // Also view and download archived media. + Encoding string `default:"Slash,CrLf,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createGphotosStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config gphotosConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -437,15 +437,15 @@ type createGphotosStorageRequest struct { func createGphotosStorage() {} type hdfsConfig struct { - Namenode string `json:"namenode"` // Hadoop name node and port. - Username string `json:"username" example:"root"` // Hadoop user name. - ServicePrincipalName string `json:"servicePrincipalName"` // Kerberos service principal name for the namenode. - DataTransferProtection string `json:"dataTransferProtection" example:"privacy"` // Kerberos data transfer protection: authentication|integrity|privacy. - Encoding string `json:"encoding" default:"Slash,Colon,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. + Namenode string `json:"namenode"` // Hadoop name node and port. + Username string `example:"root" json:"username"` // Hadoop user name. + ServicePrincipalName string `json:"servicePrincipalName"` // Kerberos service principal name for the namenode. + DataTransferProtection string `example:"privacy" json:"dataTransferProtection"` // Kerberos data transfer protection: authentication|integrity|privacy. + Encoding string `default:"Slash,Colon,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createHdfsStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config hdfsConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -464,24 +464,24 @@ type createHdfsStorageRequest struct { func createHdfsStorage() {} type hidriveConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - ScopeAccess string `json:"scopeAccess" default:"rw" example:"rw"` // Access permissions that rclone should use when requesting access from HiDrive. - ScopeRole string `json:"scopeRole" default:"user" example:"user"` // User-level that rclone should use when requesting access from HiDrive. - RootPrefix string `json:"rootPrefix" default:"/" example:"/"` // The root/parent folder for all paths. - Endpoint string `json:"endpoint" default:"https://api.hidrive.strato.com/2.1"` // Endpoint for the service. - DisableFetchingMemberCount bool `json:"disableFetchingMemberCount" default:"false"` // Do not fetch number of objects in directories unless it is absolutely necessary. - ChunkSize string `json:"chunkSize" default:"48Mi"` // Chunksize for chunked uploads. - UploadCutoff string `json:"uploadCutoff" default:"96Mi"` // Cutoff/Threshold for chunked uploads. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for chunked uploads. - Encoding string `json:"encoding" default:"Slash,Dot"` // The encoding for the backend. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + ScopeAccess string `default:"rw" example:"rw" json:"scopeAccess"` // Access permissions that rclone should use when requesting access from HiDrive. + ScopeRole string `default:"user" example:"user" json:"scopeRole"` // User-level that rclone should use when requesting access from HiDrive. + RootPrefix string `default:"/" example:"/" json:"rootPrefix"` // The root/parent folder for all paths. + Endpoint string `default:"https://api.hidrive.strato.com/2.1" json:"endpoint"` // Endpoint for the service. + DisableFetchingMemberCount bool `default:"false" json:"disableFetchingMemberCount"` // Do not fetch number of objects in directories unless it is absolutely necessary. + ChunkSize string `default:"48Mi" json:"chunkSize"` // Chunksize for chunked uploads. + UploadCutoff string `default:"96Mi" json:"uploadCutoff"` // Cutoff/Threshold for chunked uploads. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for chunked uploads. + Encoding string `default:"Slash,Dot" json:"encoding"` // The encoding for the backend. } type createHidriveStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config hidriveConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -502,12 +502,12 @@ func createHidriveStorage() {} type httpConfig struct { Url string `json:"url"` // URL of HTTP host to connect to. Headers string `json:"headers"` // Set HTTP headers for all transactions. - NoSlash bool `json:"noSlash" default:"false"` // Set this if the site doesn't end directories with /. - NoHead bool `json:"noHead" default:"false"` // Don't use HEAD requests. + NoSlash bool `default:"false" json:"noSlash"` // Set this if the site doesn't end directories with /. + NoHead bool `default:"false" json:"noHead"` // Don't use HEAD requests. } type createHttpStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config httpConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -526,17 +526,17 @@ type createHttpStorageRequest struct { func createHttpStorage() {} type internetarchiveConfig struct { - AccessKeyId string `json:"accessKeyId"` // IAS3 Access Key. - SecretAccessKey string `json:"secretAccessKey"` // IAS3 Secret Key (password). - Endpoint string `json:"endpoint" default:"https://s3.us.archive.org"` // IAS3 Endpoint. - FrontEndpoint string `json:"frontEndpoint" default:"https://archive.org"` // Host of InternetArchive Frontend. - DisableChecksum bool `json:"disableChecksum" default:"true"` // Don't ask the server to test against MD5 checksum calculated by rclone. - WaitArchive string `json:"waitArchive" default:"0s"` // Timeout for waiting the server's processing tasks (specifically archive and book_op) to finish. - Encoding string `json:"encoding" default:"Slash,LtGt,CrLf,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. + AccessKeyId string `json:"accessKeyId"` // IAS3 Access Key. + SecretAccessKey string `json:"secretAccessKey"` // IAS3 Secret Key (password). + Endpoint string `default:"https://s3.us.archive.org" json:"endpoint"` // IAS3 Endpoint. + FrontEndpoint string `default:"https://archive.org" json:"frontEndpoint"` // Host of InternetArchive Frontend. + DisableChecksum bool `default:"true" json:"disableChecksum"` // Don't ask the server to test against MD5 checksum calculated by rclone. + WaitArchive string `default:"0s" json:"waitArchive"` // Timeout for waiting the server's processing tasks (specifically archive and book_op) to finish. + Encoding string `default:"Slash,LtGt,CrLf,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createInternetarchiveStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config internetarchiveConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -555,16 +555,16 @@ type createInternetarchiveStorageRequest struct { func createInternetarchiveStorage() {} type jottacloudConfig struct { - Md5MemoryLimit string `json:"md5MemoryLimit" default:"10Mi"` // Files bigger than this will be cached on disk to calculate the MD5 if required. - TrashedOnly bool `json:"trashedOnly" default:"false"` // Only show files that are in the trash. - HardDelete bool `json:"hardDelete" default:"false"` // Delete files permanently rather than putting them into the trash. - UploadResumeLimit string `json:"uploadResumeLimit" default:"10Mi"` // Files bigger than this can be resumed if the upload fail's. - NoVersions bool `json:"noVersions" default:"false"` // Avoid server side versioning by deleting files and recreating files instead of overwriting them. - Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. + Md5MemoryLimit string `default:"10Mi" json:"md5MemoryLimit"` // Files bigger than this will be cached on disk to calculate the MD5 if required. + TrashedOnly bool `default:"false" json:"trashedOnly"` // Only show files that are in the trash. + HardDelete bool `default:"false" json:"hardDelete"` // Delete files permanently rather than putting them into the trash. + UploadResumeLimit string `default:"10Mi" json:"uploadResumeLimit"` // Files bigger than this can be resumed if the upload fail's. + NoVersions bool `default:"false" json:"noVersions"` // Avoid server side versioning by deleting files and recreating files instead of overwriting them. + Encoding string `default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createJottacloudStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config jottacloudConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -584,14 +584,14 @@ func createJottacloudStorage() {} type koofrDigistorageConfig struct { Mountid string `json:"mountid"` // Mount ID of the mount to use. - Setmtime bool `json:"setmtime" default:"true"` // Does the backend support setting modification time. + Setmtime bool `default:"true" json:"setmtime"` // Does the backend support setting modification time. User string `json:"user"` // Your user name. Password string `json:"password"` // Your password for rclone (generate one at https://storage.rcs-rds.ro/app/admin/preferences/password). - Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. + Encoding string `default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createKoofrDigistorageStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config koofrDigistorageConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -611,14 +611,14 @@ func createKoofrDigistorageStorage() {} type koofrKoofrConfig struct { Mountid string `json:"mountid"` // Mount ID of the mount to use. - Setmtime bool `json:"setmtime" default:"true"` // Does the backend support setting modification time. + Setmtime bool `default:"true" json:"setmtime"` // Does the backend support setting modification time. User string `json:"user"` // Your user name. Password string `json:"password"` // Your password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password). - Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. + Encoding string `default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createKoofrKoofrStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config koofrKoofrConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -639,14 +639,14 @@ func createKoofrKoofrStorage() {} type koofrOtherConfig struct { Endpoint string `json:"endpoint"` // The Koofr API endpoint to use. Mountid string `json:"mountid"` // Mount ID of the mount to use. - Setmtime bool `json:"setmtime" default:"true"` // Does the backend support setting modification time. + Setmtime bool `default:"true" json:"setmtime"` // Does the backend support setting modification time. User string `json:"user"` // Your user name. Password string `json:"password"` // Your password for rclone (generate one at your service's settings page). - Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. + Encoding string `default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createKoofrOtherStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config koofrOtherConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -665,24 +665,24 @@ type createKoofrOtherStorageRequest struct { func createKoofrOtherStorage() {} type localConfig struct { - Nounc bool `json:"nounc" default:"false" example:"true"` // Disable UNC (long path names) conversion on Windows. - CopyLinks bool `json:"copyLinks" default:"false"` // Follow symlinks and copy the pointed to item. - Links bool `json:"links" default:"false"` // Translate symlinks to/from regular files with a '.rclonelink' extension. - SkipLinks bool `json:"skipLinks" default:"false"` // Don't warn about skipped symlinks. - ZeroSizeLinks bool `json:"zeroSizeLinks" default:"false"` // Assume the Stat size of links is zero (and read them instead) (deprecated). - UnicodeNormalization bool `json:"unicodeNormalization" default:"false"` // Apply unicode NFC normalization to paths and filenames. - NoCheckUpdated bool `json:"noCheckUpdated" default:"false"` // Don't check to see if the files change during upload. - OneFileSystem bool `json:"oneFileSystem" default:"false"` // Don't cross filesystem boundaries (unix/macOS only). - CaseSensitive bool `json:"caseSensitive" default:"false"` // Force the filesystem to report itself as case sensitive. - CaseInsensitive bool `json:"caseInsensitive" default:"false"` // Force the filesystem to report itself as case insensitive. - NoPreallocate bool `json:"noPreallocate" default:"false"` // Disable preallocation of disk space for transferred files. - NoSparse bool `json:"noSparse" default:"false"` // Disable sparse files for multi-thread downloads. - NoSetModtime bool `json:"noSetModtime" default:"false"` // Disable setting modtime. - Encoding string `json:"encoding" default:"Slash,Dot"` // The encoding for the backend. + Nounc bool `default:"false" example:"true" json:"nounc"` // Disable UNC (long path names) conversion on Windows. + CopyLinks bool `default:"false" json:"copyLinks"` // Follow symlinks and copy the pointed to item. + Links bool `default:"false" json:"links"` // Translate symlinks to/from regular files with a '.rclonelink' extension. + SkipLinks bool `default:"false" json:"skipLinks"` // Don't warn about skipped symlinks. + ZeroSizeLinks bool `default:"false" json:"zeroSizeLinks"` // Assume the Stat size of links is zero (and read them instead) (deprecated). + UnicodeNormalization bool `default:"false" json:"unicodeNormalization"` // Apply unicode NFC normalization to paths and filenames. + NoCheckUpdated bool `default:"false" json:"noCheckUpdated"` // Don't check to see if the files change during upload. + OneFileSystem bool `default:"false" json:"oneFileSystem"` // Don't cross filesystem boundaries (unix/macOS only). + CaseSensitive bool `default:"false" json:"caseSensitive"` // Force the filesystem to report itself as case sensitive. + CaseInsensitive bool `default:"false" json:"caseInsensitive"` // Force the filesystem to report itself as case insensitive. + NoPreallocate bool `default:"false" json:"noPreallocate"` // Disable preallocation of disk space for transferred files. + NoSparse bool `default:"false" json:"noSparse"` // Disable sparse files for multi-thread downloads. + NoSetModtime bool `default:"false" json:"noSetModtime"` // Disable setting modtime. + Encoding string `default:"Slash,Dot" json:"encoding"` // The encoding for the backend. } type createLocalStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config localConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -701,20 +701,20 @@ type createLocalStorageRequest struct { func createLocalStorage() {} type mailruConfig struct { - User string `json:"user"` // User name (usually email). - Pass string `json:"pass"` // Password. - SpeedupEnable bool `json:"speedupEnable" default:"true" example:"true"` // Skip full upload if there is another file with same data hash. - SpeedupFilePatterns string `json:"speedupFilePatterns" default:"*.mkv,*.avi,*.mp4,*.mp3,*.zip,*.gz,*.rar,*.pdf" example:""` // Comma separated list of file name patterns eligible for speedup (put by hash). - SpeedupMaxDisk string `json:"speedupMaxDisk" default:"3Gi" example:"0"` // This option allows you to disable speedup (put by hash) for large files. - SpeedupMaxMemory string `json:"speedupMaxMemory" default:"32Mi" example:"0"` // Files larger than the size given below will always be hashed on disk. - CheckHash bool `json:"checkHash" default:"true" example:"true"` // What should copy do if file checksum is mismatched or invalid. - UserAgent string `json:"userAgent"` // HTTP user agent used internally by client. - Quirks string `json:"quirks"` // Comma separated list of internal maintenance flags. - Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. + User string `json:"user"` // User name (usually email). + Pass string `json:"pass"` // Password. + SpeedupEnable bool `default:"true" example:"true" json:"speedupEnable"` // Skip full upload if there is another file with same data hash. + SpeedupFilePatterns string `default:"*.mkv,*.avi,*.mp4,*.mp3,*.zip,*.gz,*.rar,*.pdf" example:"" json:"speedupFilePatterns"` // Comma separated list of file name patterns eligible for speedup (put by hash). + SpeedupMaxDisk string `default:"3Gi" example:"0" json:"speedupMaxDisk"` // This option allows you to disable speedup (put by hash) for large files. + SpeedupMaxMemory string `default:"32Mi" example:"0" json:"speedupMaxMemory"` // Files larger than the size given below will always be hashed on disk. + CheckHash bool `default:"true" example:"true" json:"checkHash"` // What should copy do if file checksum is mismatched or invalid. + UserAgent string `json:"userAgent"` // HTTP user agent used internally by client. + Quirks string `json:"quirks"` // Comma separated list of internal maintenance flags. + Encoding string `default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createMailruStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config mailruConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -733,16 +733,16 @@ type createMailruStorageRequest struct { func createMailruStorage() {} type megaConfig struct { - User string `json:"user"` // User name. - Pass string `json:"pass"` // Password. - Debug bool `json:"debug" default:"false"` // Output more debug from Mega. - HardDelete bool `json:"hardDelete" default:"false"` // Delete files permanently rather than putting them into the trash. - UseHttps bool `json:"useHttps" default:"false"` // Use HTTPS for transfers. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + User string `json:"user"` // User name. + Pass string `json:"pass"` // Password. + Debug bool `default:"false" json:"debug"` // Output more debug from Mega. + HardDelete bool `default:"false" json:"hardDelete"` // Delete files permanently rather than putting them into the trash. + UseHttps bool `default:"false" json:"useHttps"` // Use HTTPS for transfers. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createMegaStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config megaConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -761,14 +761,14 @@ type createMegaStorageRequest struct { func createMegaStorage() {} type netstorageConfig struct { - Protocol string `json:"protocol" default:"https" example:"http"` // Select between HTTP or HTTPS protocol. + Protocol string `default:"https" example:"http" json:"protocol"` // Select between HTTP or HTTPS protocol. Host string `json:"host"` // Domain+path of NetStorage host to connect to. Account string `json:"account"` // Set the NetStorage account name Secret string `json:"secret"` // Set the NetStorage account secret/G2O key for authentication. } type createNetstorageStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config netstorageConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -787,31 +787,31 @@ type createNetstorageStorageRequest struct { func createNetstorageStorage() {} type onedriveConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - Region string `json:"region" default:"global" example:"global"` // Choose national cloud region for OneDrive. - ChunkSize string `json:"chunkSize" default:"10Mi"` // Chunk size to upload files with - must be multiple of 320k (327,680 bytes). - DriveId string `json:"driveId"` // The ID of the drive to use. - DriveType string `json:"driveType"` // The type of the drive (personal | business | documentLibrary). - RootFolderId string `json:"rootFolderId"` // ID of the root folder. - AccessScopes string `json:"accessScopes" default:"Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All Sites.Read.All offline_access" example:"Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All Sites.Read.All offline_access"` // Set scopes to be requested by rclone. - DisableSitePermission bool `json:"disableSitePermission" default:"false"` // Disable the request for Sites.Read.All permission. - ExposeOnenoteFiles bool `json:"exposeOnenoteFiles" default:"false"` // Set to make OneNote files show up in directory listings. - ServerSideAcrossConfigs bool `json:"serverSideAcrossConfigs" default:"false"` // Allow server-side operations (e.g. copy) to work across different onedrive configs. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk. - NoVersions bool `json:"noVersions" default:"false"` // Remove all versions on modifying operations. - LinkScope string `json:"linkScope" default:"anonymous" example:"anonymous"` // Set the scope of the links created by the link command. - LinkType string `json:"linkType" default:"view" example:"view"` // Set the type of the links created by the link command. - LinkPassword string `json:"linkPassword"` // Set the password for links created by the link command. - HashType string `json:"hashType" default:"auto" example:"auto"` // Specify the hash in use for the backend. - Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot"` // The encoding for the backend. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + Region string `default:"global" example:"global" json:"region"` // Choose national cloud region for OneDrive. + ChunkSize string `default:"10Mi" json:"chunkSize"` // Chunk size to upload files with - must be multiple of 320k (327,680 bytes). + DriveId string `json:"driveId"` // The ID of the drive to use. + DriveType string `json:"driveType"` // The type of the drive (personal | business | documentLibrary). + RootFolderId string `json:"rootFolderId"` // ID of the root folder. + AccessScopes string `default:"Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All Sites.Read.All offline_access" example:"Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All Sites.Read.All offline_access" json:"accessScopes"` // Set scopes to be requested by rclone. + DisableSitePermission bool `default:"false" json:"disableSitePermission"` // Disable the request for Sites.Read.All permission. + ExposeOnenoteFiles bool `default:"false" json:"exposeOnenoteFiles"` // Set to make OneNote files show up in directory listings. + ServerSideAcrossConfigs bool `default:"false" json:"serverSideAcrossConfigs"` // Allow server-side operations (e.g. copy) to work across different onedrive configs. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk. + NoVersions bool `default:"false" json:"noVersions"` // Remove all versions on modifying operations. + LinkScope string `default:"anonymous" example:"anonymous" json:"linkScope"` // Set the scope of the links created by the link command. + LinkType string `default:"view" example:"view" json:"linkType"` // Set the type of the links created by the link command. + LinkPassword string `json:"linkPassword"` // Set the password for links created by the link command. + HashType string `default:"auto" example:"auto" json:"hashType"` // Specify the hash in use for the backend. + Encoding string `default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createOnedriveStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config onedriveConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -830,29 +830,29 @@ type createOnedriveStorageRequest struct { func createOnedriveStorage() {} type oosEnv_authConfig struct { - Namespace string `json:"namespace"` // Object storage namespace - Compartment string `json:"compartment"` // Object storage compartment OCID - Region string `json:"region"` // Object storage Region - Endpoint string `json:"endpoint"` // Endpoint for Object storage API. - StorageTier string `json:"storageTier" default:"Standard" example:"Standard"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - UploadConcurrency int `json:"uploadConcurrency" default:"10"` // Concurrency for multipart uploads. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - CopyTimeout string `json:"copyTimeout" default:"1m0s"` // Timeout for copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - LeavePartsOnError bool `json:"leavePartsOnError" default:"false"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - SseCustomerKeyFile string `json:"sseCustomerKeyFile" example:""` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated - SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to - SseCustomerKeySha256 string `json:"sseCustomerKeySha256" example:""` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption - SseKmsKeyId string `json:"sseKmsKeyId" example:""` // if using using your own master key in vault, this header specifies the - SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. + Namespace string `json:"namespace"` // Object storage namespace + Compartment string `json:"compartment"` // Object storage compartment OCID + Region string `json:"region"` // Object storage Region + Endpoint string `json:"endpoint"` // Endpoint for Object storage API. + StorageTier string `default:"Standard" example:"Standard" json:"storageTier"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + UploadConcurrency int `default:"10" json:"uploadConcurrency"` // Concurrency for multipart uploads. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + CopyTimeout string `default:"1m0s" json:"copyTimeout"` // Timeout for copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + LeavePartsOnError bool `default:"false" json:"leavePartsOnError"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + SseCustomerKeyFile string `example:"" json:"sseCustomerKeyFile"` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated + SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to + SseCustomerKeySha256 string `example:"" json:"sseCustomerKeySha256"` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption + SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // if using using your own master key in vault, this header specifies the + SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. } type createOosEnv_authStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config oosEnv_authConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -871,29 +871,29 @@ type createOosEnv_authStorageRequest struct { func createOosEnv_authStorage() {} type oosInstance_principal_authConfig struct { - Namespace string `json:"namespace"` // Object storage namespace - Compartment string `json:"compartment"` // Object storage compartment OCID - Region string `json:"region"` // Object storage Region - Endpoint string `json:"endpoint"` // Endpoint for Object storage API. - StorageTier string `json:"storageTier" default:"Standard" example:"Standard"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - UploadConcurrency int `json:"uploadConcurrency" default:"10"` // Concurrency for multipart uploads. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - CopyTimeout string `json:"copyTimeout" default:"1m0s"` // Timeout for copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - LeavePartsOnError bool `json:"leavePartsOnError" default:"false"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - SseCustomerKeyFile string `json:"sseCustomerKeyFile" example:""` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated - SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to - SseCustomerKeySha256 string `json:"sseCustomerKeySha256" example:""` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption - SseKmsKeyId string `json:"sseKmsKeyId" example:""` // if using using your own master key in vault, this header specifies the - SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. + Namespace string `json:"namespace"` // Object storage namespace + Compartment string `json:"compartment"` // Object storage compartment OCID + Region string `json:"region"` // Object storage Region + Endpoint string `json:"endpoint"` // Endpoint for Object storage API. + StorageTier string `default:"Standard" example:"Standard" json:"storageTier"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + UploadConcurrency int `default:"10" json:"uploadConcurrency"` // Concurrency for multipart uploads. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + CopyTimeout string `default:"1m0s" json:"copyTimeout"` // Timeout for copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + LeavePartsOnError bool `default:"false" json:"leavePartsOnError"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + SseCustomerKeyFile string `example:"" json:"sseCustomerKeyFile"` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated + SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to + SseCustomerKeySha256 string `example:"" json:"sseCustomerKeySha256"` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption + SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // if using using your own master key in vault, this header specifies the + SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. } type createOosInstance_principal_authStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config oosInstance_principal_authConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -912,28 +912,28 @@ type createOosInstance_principal_authStorageRequest struct { func createOosInstance_principal_authStorage() {} type oosNo_authConfig struct { - Namespace string `json:"namespace"` // Object storage namespace - Region string `json:"region"` // Object storage Region - Endpoint string `json:"endpoint"` // Endpoint for Object storage API. - StorageTier string `json:"storageTier" default:"Standard" example:"Standard"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - UploadConcurrency int `json:"uploadConcurrency" default:"10"` // Concurrency for multipart uploads. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - CopyTimeout string `json:"copyTimeout" default:"1m0s"` // Timeout for copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - LeavePartsOnError bool `json:"leavePartsOnError" default:"false"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - SseCustomerKeyFile string `json:"sseCustomerKeyFile" example:""` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated - SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to - SseCustomerKeySha256 string `json:"sseCustomerKeySha256" example:""` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption - SseKmsKeyId string `json:"sseKmsKeyId" example:""` // if using using your own master key in vault, this header specifies the - SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. + Namespace string `json:"namespace"` // Object storage namespace + Region string `json:"region"` // Object storage Region + Endpoint string `json:"endpoint"` // Endpoint for Object storage API. + StorageTier string `default:"Standard" example:"Standard" json:"storageTier"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + UploadConcurrency int `default:"10" json:"uploadConcurrency"` // Concurrency for multipart uploads. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + CopyTimeout string `default:"1m0s" json:"copyTimeout"` // Timeout for copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + LeavePartsOnError bool `default:"false" json:"leavePartsOnError"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + SseCustomerKeyFile string `example:"" json:"sseCustomerKeyFile"` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated + SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to + SseCustomerKeySha256 string `example:"" json:"sseCustomerKeySha256"` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption + SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // if using using your own master key in vault, this header specifies the + SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. } type createOosNo_authStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config oosNo_authConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -952,29 +952,29 @@ type createOosNo_authStorageRequest struct { func createOosNo_authStorage() {} type oosResource_principal_authConfig struct { - Namespace string `json:"namespace"` // Object storage namespace - Compartment string `json:"compartment"` // Object storage compartment OCID - Region string `json:"region"` // Object storage Region - Endpoint string `json:"endpoint"` // Endpoint for Object storage API. - StorageTier string `json:"storageTier" default:"Standard" example:"Standard"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - UploadConcurrency int `json:"uploadConcurrency" default:"10"` // Concurrency for multipart uploads. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - CopyTimeout string `json:"copyTimeout" default:"1m0s"` // Timeout for copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - LeavePartsOnError bool `json:"leavePartsOnError" default:"false"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - SseCustomerKeyFile string `json:"sseCustomerKeyFile" example:""` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated - SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to - SseCustomerKeySha256 string `json:"sseCustomerKeySha256" example:""` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption - SseKmsKeyId string `json:"sseKmsKeyId" example:""` // if using using your own master key in vault, this header specifies the - SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. + Namespace string `json:"namespace"` // Object storage namespace + Compartment string `json:"compartment"` // Object storage compartment OCID + Region string `json:"region"` // Object storage Region + Endpoint string `json:"endpoint"` // Endpoint for Object storage API. + StorageTier string `default:"Standard" example:"Standard" json:"storageTier"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + UploadConcurrency int `default:"10" json:"uploadConcurrency"` // Concurrency for multipart uploads. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + CopyTimeout string `default:"1m0s" json:"copyTimeout"` // Timeout for copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + LeavePartsOnError bool `default:"false" json:"leavePartsOnError"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + SseCustomerKeyFile string `example:"" json:"sseCustomerKeyFile"` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated + SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to + SseCustomerKeySha256 string `example:"" json:"sseCustomerKeySha256"` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption + SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // if using using your own master key in vault, this header specifies the + SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. } type createOosResource_principal_authStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config oosResource_principal_authConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -993,31 +993,31 @@ type createOosResource_principal_authStorageRequest struct { func createOosResource_principal_authStorage() {} type oosUser_principal_authConfig struct { - Namespace string `json:"namespace"` // Object storage namespace - Compartment string `json:"compartment"` // Object storage compartment OCID - Region string `json:"region"` // Object storage Region - Endpoint string `json:"endpoint"` // Endpoint for Object storage API. - ConfigFile string `json:"configFile" default:"~/.oci/config" example:"~/.oci/config"` // Path to OCI config file - ConfigProfile string `json:"configProfile" default:"Default" example:"Default"` // Profile name inside the oci config file - StorageTier string `json:"storageTier" default:"Standard" example:"Standard"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - UploadConcurrency int `json:"uploadConcurrency" default:"10"` // Concurrency for multipart uploads. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - CopyTimeout string `json:"copyTimeout" default:"1m0s"` // Timeout for copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - LeavePartsOnError bool `json:"leavePartsOnError" default:"false"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - SseCustomerKeyFile string `json:"sseCustomerKeyFile" example:""` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated - SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to - SseCustomerKeySha256 string `json:"sseCustomerKeySha256" example:""` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption - SseKmsKeyId string `json:"sseKmsKeyId" example:""` // if using using your own master key in vault, this header specifies the - SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. + Namespace string `json:"namespace"` // Object storage namespace + Compartment string `json:"compartment"` // Object storage compartment OCID + Region string `json:"region"` // Object storage Region + Endpoint string `json:"endpoint"` // Endpoint for Object storage API. + ConfigFile string `default:"~/.oci/config" example:"~/.oci/config" json:"configFile"` // Path to OCI config file + ConfigProfile string `default:"Default" example:"Default" json:"configProfile"` // Profile name inside the oci config file + StorageTier string `default:"Standard" example:"Standard" json:"storageTier"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + UploadConcurrency int `default:"10" json:"uploadConcurrency"` // Concurrency for multipart uploads. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + CopyTimeout string `default:"1m0s" json:"copyTimeout"` // Timeout for copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + LeavePartsOnError bool `default:"false" json:"leavePartsOnError"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + SseCustomerKeyFile string `example:"" json:"sseCustomerKeyFile"` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated + SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to + SseCustomerKeySha256 string `example:"" json:"sseCustomerKeySha256"` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption + SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // if using using your own master key in vault, this header specifies the + SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. } type createOosUser_principal_authStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config oosUser_principal_authConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1036,14 +1036,14 @@ type createOosUser_principal_authStorageRequest struct { func createOosUser_principal_authStorage() {} type opendriveConfig struct { - Username string `json:"username"` // Username. - Password string `json:"password"` // Password. - Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot"` // The encoding for the backend. - ChunkSize string `json:"chunkSize" default:"10Mi"` // Files will be uploaded in chunks this size. + Username string `json:"username"` // Username. + Password string `json:"password"` // Password. + Encoding string `default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + ChunkSize string `default:"10Mi" json:"chunkSize"` // Files will be uploaded in chunks this size. } type createOpendriveStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config opendriveConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1062,20 +1062,20 @@ type createOpendriveStorageRequest struct { func createOpendriveStorage() {} type pcloudConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. - RootFolderId string `json:"rootFolderId" default:"d0"` // Fill in for rclone to use a non root folder as its starting point. - Hostname string `json:"hostname" default:"api.pcloud.com" example:"api.pcloud.com"` // Hostname to connect to. - Username string `json:"username"` // Your pcloud username. - Password string `json:"password"` // Your pcloud password. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + Encoding string `default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + RootFolderId string `default:"d0" json:"rootFolderId"` // Fill in for rclone to use a non root folder as its starting point. + Hostname string `default:"api.pcloud.com" example:"api.pcloud.com" json:"hostname"` // Hostname to connect to. + Username string `json:"username"` // Your pcloud username. + Password string `json:"password"` // Your pcloud password. } type createPcloudStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config pcloudConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1095,11 +1095,11 @@ func createPcloudStorage() {} type premiumizemeConfig struct { ApiKey string `json:"apiKey"` // API Key. - Encoding string `json:"encoding" default:"Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. + Encoding string `default:"Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createPremiumizemeStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config premiumizemeConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1118,11 +1118,11 @@ type createPremiumizemeStorageRequest struct { func createPremiumizemeStorage() {} type putioConfig struct { - Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. + Encoding string `default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createPutioStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config putioConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1141,20 +1141,20 @@ type createPutioStorageRequest struct { func createPutioStorage() {} type qingstorConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get QingStor credentials from runtime. - AccessKeyId string `json:"accessKeyId"` // QingStor Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // QingStor Secret Access Key (password). - Endpoint string `json:"endpoint"` // Enter an endpoint URL to connection QingStor API. - Zone string `json:"zone" example:"pek3a"` // Zone to connect to. - ConnectionRetries int `json:"connectionRetries" default:"3"` // Number of connection retries. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"4Mi"` // Chunk size to use for uploading. - UploadConcurrency int `json:"uploadConcurrency" default:"1"` // Concurrency for multipart uploads. - Encoding string `json:"encoding" default:"Slash,Ctl,InvalidUtf8"` // The encoding for the backend. + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get QingStor credentials from runtime. + AccessKeyId string `json:"accessKeyId"` // QingStor Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // QingStor Secret Access Key (password). + Endpoint string `json:"endpoint"` // Enter an endpoint URL to connection QingStor API. + Zone string `example:"pek3a" json:"zone"` // Zone to connect to. + ConnectionRetries int `default:"3" json:"connectionRetries"` // Number of connection retries. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"4Mi" json:"chunkSize"` // Chunk size to use for uploading. + UploadConcurrency int `default:"1" json:"uploadConcurrency"` // Concurrency for multipart uploads. + Encoding string `default:"Slash,Ctl,InvalidUtf8" json:"encoding"` // The encoding for the backend. } type createQingstorStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config qingstorConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1173,58 +1173,58 @@ type createQingstorStorageRequest struct { func createQingstorStorage() {} type s3AWSConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:"us-east-1"` // Region to connect to. - Endpoint string `json:"endpoint"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint" example:""` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - RequesterPays bool `json:"requesterPays" default:"false"` // Enables requester pays option when interacting with S3 bucket. - ServerSideEncryption string `json:"serverSideEncryption" example:""` // The server-side encryption algorithm used when storing this object in S3. - SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. - SseKmsKeyId string `json:"sseKmsKeyId" example:""` // If using KMS ID you must provide the ARN of Key. - SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. - SseCustomerKeyBase64 string `json:"sseCustomerKeyBase64" example:""` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. - SseCustomerKeyMd5 string `json:"sseCustomerKeyMd5" example:""` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). - StorageClass string `json:"storageClass" example:""` // The storage class to use when storing new objects in S3. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - UseAccelerateEndpoint bool `json:"useAccelerateEndpoint" default:"false"` // If true use the AWS S3 accelerated endpoint. - LeavePartsOnError bool `json:"leavePartsOnError" default:"false"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata - StsEndpoint string `json:"stsEndpoint"` // Endpoint for STS. + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"us-east-1" json:"region"` // Region to connect to. + Endpoint string `json:"endpoint"` // Endpoint for S3 API. + LocationConstraint string `example:"" json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + RequesterPays bool `default:"false" json:"requesterPays"` // Enables requester pays option when interacting with S3 bucket. + ServerSideEncryption string `example:"" json:"serverSideEncryption"` // The server-side encryption algorithm used when storing this object in S3. + SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. + SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // If using KMS ID you must provide the ARN of Key. + SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. + SseCustomerKeyBase64 string `example:"" json:"sseCustomerKeyBase64"` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. + SseCustomerKeyMd5 string `example:"" json:"sseCustomerKeyMd5"` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). + StorageClass string `example:"" json:"storageClass"` // The storage class to use when storing new objects in S3. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + UseAccelerateEndpoint bool `default:"false" json:"useAccelerateEndpoint"` // If true use the AWS S3 accelerated endpoint. + LeavePartsOnError bool `default:"false" json:"leavePartsOnError"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + StsEndpoint string `json:"stsEndpoint"` // Endpoint for STS. } type createS3AWSStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3AWSConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1243,46 +1243,46 @@ type createS3AWSStorageRequest struct { func createS3AWSStorage() {} type s3AlibabaConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Endpoint string `json:"endpoint" example:"oss-accelerate.aliyuncs.com"` // Endpoint for OSS API. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - StorageClass string `json:"storageClass" example:""` // The storage class to use when storing new objects in OSS. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Endpoint string `example:"oss-accelerate.aliyuncs.com" json:"endpoint"` // Endpoint for OSS API. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + StorageClass string `example:"" json:"storageClass"` // The storage class to use when storing new objects in OSS. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3AlibabaStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3AlibabaConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1301,47 +1301,47 @@ type createS3AlibabaStorageRequest struct { func createS3AlibabaStorage() {} type s3ArvanCloudConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Endpoint string `json:"endpoint" example:"s3.ir-thr-at1.arvanstorage.com"` // Endpoint for Arvan Cloud Object Storage (AOS) API. - LocationConstraint string `json:"locationConstraint" example:"ir-thr-at1"` // Location constraint - must match endpoint. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - StorageClass string `json:"storageClass" example:"STANDARD"` // The storage class to use when storing new objects in ArvanCloud. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Endpoint string `example:"s3.ir-thr-at1.arvanstorage.com" json:"endpoint"` // Endpoint for Arvan Cloud Object Storage (AOS) API. + LocationConstraint string `example:"ir-thr-at1" json:"locationConstraint"` // Location constraint - must match endpoint. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + StorageClass string `example:"STANDARD" json:"storageClass"` // The storage class to use when storing new objects in ArvanCloud. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3ArvanCloudStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3ArvanCloudConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1360,53 +1360,53 @@ type createS3ArvanCloudStorageRequest struct { func createS3ArvanCloudStorage() {} type s3CephConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:""` // Region to connect to. - Endpoint string `json:"endpoint"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - ServerSideEncryption string `json:"serverSideEncryption" example:""` // The server-side encryption algorithm used when storing this object in S3. - SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. - SseKmsKeyId string `json:"sseKmsKeyId" example:""` // If using KMS ID you must provide the ARN of Key. - SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. - SseCustomerKeyBase64 string `json:"sseCustomerKeyBase64" example:""` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. - SseCustomerKeyMd5 string `json:"sseCustomerKeyMd5" example:""` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"" json:"region"` // Region to connect to. + Endpoint string `json:"endpoint"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + ServerSideEncryption string `example:"" json:"serverSideEncryption"` // The server-side encryption algorithm used when storing this object in S3. + SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. + SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // If using KMS ID you must provide the ARN of Key. + SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. + SseCustomerKeyBase64 string `example:"" json:"sseCustomerKeyBase64"` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. + SseCustomerKeyMd5 string `example:"" json:"sseCustomerKeyMd5"` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3CephStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3CephConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1425,52 +1425,52 @@ type createS3CephStorageRequest struct { func createS3CephStorage() {} type s3ChinaMobileConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Endpoint string `json:"endpoint" example:"eos-wuxi-1.cmecloud.cn"` // Endpoint for China Mobile Ecloud Elastic Object Storage (EOS) API. - LocationConstraint string `json:"locationConstraint" example:"wuxi1"` // Location constraint - must match endpoint. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - ServerSideEncryption string `json:"serverSideEncryption" example:""` // The server-side encryption algorithm used when storing this object in S3. - SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. - SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. - SseCustomerKeyBase64 string `json:"sseCustomerKeyBase64" example:""` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. - SseCustomerKeyMd5 string `json:"sseCustomerKeyMd5" example:""` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). - StorageClass string `json:"storageClass" example:""` // The storage class to use when storing new objects in ChinaMobile. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Endpoint string `example:"eos-wuxi-1.cmecloud.cn" json:"endpoint"` // Endpoint for China Mobile Ecloud Elastic Object Storage (EOS) API. + LocationConstraint string `example:"wuxi1" json:"locationConstraint"` // Location constraint - must match endpoint. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + ServerSideEncryption string `example:"" json:"serverSideEncryption"` // The server-side encryption algorithm used when storing this object in S3. + SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. + SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. + SseCustomerKeyBase64 string `example:"" json:"sseCustomerKeyBase64"` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. + SseCustomerKeyMd5 string `example:"" json:"sseCustomerKeyMd5"` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). + StorageClass string `example:"" json:"storageClass"` // The storage class to use when storing new objects in ChinaMobile. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3ChinaMobileStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3ChinaMobileConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1489,45 +1489,45 @@ type createS3ChinaMobileStorageRequest struct { func createS3ChinaMobileStorage() {} type s3CloudflareConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:"auto"` // Region to connect to. - Endpoint string `json:"endpoint"` // Endpoint for S3 API. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"auto" json:"region"` // Region to connect to. + Endpoint string `json:"endpoint"` // Endpoint for S3 API. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3CloudflareStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3CloudflareConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1546,47 +1546,47 @@ type createS3CloudflareStorageRequest struct { func createS3CloudflareStorage() {} type s3DigitalOceanConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:""` // Region to connect to. - Endpoint string `json:"endpoint" example:"syd1.digitaloceanspaces.com"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"" json:"region"` // Region to connect to. + Endpoint string `example:"syd1.digitaloceanspaces.com" json:"endpoint"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3DigitalOceanStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3DigitalOceanConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1605,47 +1605,47 @@ type createS3DigitalOceanStorageRequest struct { func createS3DigitalOceanStorage() {} type s3DreamhostConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:""` // Region to connect to. - Endpoint string `json:"endpoint" example:"objects-us-east-1.dream.io"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"" json:"region"` // Region to connect to. + Endpoint string `example:"objects-us-east-1.dream.io" json:"endpoint"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3DreamhostStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3DreamhostConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1664,46 +1664,46 @@ type createS3DreamhostStorageRequest struct { func createS3DreamhostStorage() {} type s3HuaweiOBSConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:"af-south-1"` // Region to connect to. - the location where your bucket will be created and your data stored. Need bo be same with your endpoint. - Endpoint string `json:"endpoint" example:"obs.af-south-1.myhuaweicloud.com"` // Endpoint for OBS API. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"af-south-1" json:"region"` // Region to connect to. - the location where your bucket will be created and your data stored. Need bo be same with your endpoint. + Endpoint string `example:"obs.af-south-1.myhuaweicloud.com" json:"endpoint"` // Endpoint for OBS API. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3HuaweiOBSStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3HuaweiOBSConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1722,47 +1722,47 @@ type createS3HuaweiOBSStorageRequest struct { func createS3HuaweiOBSStorage() {} type s3IBMCOSConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:""` // Region to connect to. - Endpoint string `json:"endpoint" example:"s3.us.cloud-object-storage.appdomain.cloud"` // Endpoint for IBM COS S3 API. - LocationConstraint string `json:"locationConstraint" example:"us-standard"` // Location constraint - must match endpoint when using IBM Cloud Public. - Acl string `json:"acl" example:"private"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"" json:"region"` // Region to connect to. + Endpoint string `example:"s3.us.cloud-object-storage.appdomain.cloud" json:"endpoint"` // Endpoint for IBM COS S3 API. + LocationConstraint string `example:"us-standard" json:"locationConstraint"` // Location constraint - must match endpoint when using IBM Cloud Public. + Acl string `example:"private" json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3IBMCOSStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3IBMCOSConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1781,44 +1781,44 @@ type createS3IBMCOSStorageRequest struct { func createS3IBMCOSStorage() {} type s3IDriveConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3IDriveStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3IDriveConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1837,46 +1837,46 @@ type createS3IDriveStorageRequest struct { func createS3IDriveStorage() {} type s3IONOSConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:"de"` // Region where your bucket will be created and your data stored. - Endpoint string `json:"endpoint" example:"s3-eu-central-1.ionoscloud.com"` // Endpoint for IONOS S3 Object Storage. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"de" json:"region"` // Region where your bucket will be created and your data stored. + Endpoint string `example:"s3-eu-central-1.ionoscloud.com" json:"endpoint"` // Endpoint for IONOS S3 Object Storage. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3IONOSStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3IONOSConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1895,46 +1895,46 @@ type createS3IONOSStorageRequest struct { func createS3IONOSStorage() {} type s3LiaraConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Endpoint string `json:"endpoint" example:"storage.iran.liara.space"` // Endpoint for Liara Object Storage API. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - StorageClass string `json:"storageClass" example:"STANDARD"` // The storage class to use when storing new objects in Liara - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Endpoint string `example:"storage.iran.liara.space" json:"endpoint"` // Endpoint for Liara Object Storage API. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + StorageClass string `example:"STANDARD" json:"storageClass"` // The storage class to use when storing new objects in Liara + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3LiaraStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3LiaraConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1953,47 +1953,47 @@ type createS3LiaraStorageRequest struct { func createS3LiaraStorage() {} type s3LyveCloudConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:""` // Region to connect to. - Endpoint string `json:"endpoint" example:"s3.us-east-1.lyvecloud.seagate.com"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"" json:"region"` // Region to connect to. + Endpoint string `example:"s3.us-east-1.lyvecloud.seagate.com" json:"endpoint"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3LyveCloudStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3LyveCloudConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2012,53 +2012,53 @@ type createS3LyveCloudStorageRequest struct { func createS3LyveCloudStorage() {} type s3MinioConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:""` // Region to connect to. - Endpoint string `json:"endpoint"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - ServerSideEncryption string `json:"serverSideEncryption" example:""` // The server-side encryption algorithm used when storing this object in S3. - SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. - SseKmsKeyId string `json:"sseKmsKeyId" example:""` // If using KMS ID you must provide the ARN of Key. - SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. - SseCustomerKeyBase64 string `json:"sseCustomerKeyBase64" example:""` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. - SseCustomerKeyMd5 string `json:"sseCustomerKeyMd5" example:""` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"" json:"region"` // Region to connect to. + Endpoint string `json:"endpoint"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + ServerSideEncryption string `example:"" json:"serverSideEncryption"` // The server-side encryption algorithm used when storing this object in S3. + SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. + SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // If using KMS ID you must provide the ARN of Key. + SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. + SseCustomerKeyBase64 string `example:"" json:"sseCustomerKeyBase64"` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. + SseCustomerKeyMd5 string `example:"" json:"sseCustomerKeyMd5"` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3MinioStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3MinioConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2077,47 +2077,47 @@ type createS3MinioStorageRequest struct { func createS3MinioStorage() {} type s3NeteaseConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:""` // Region to connect to. - Endpoint string `json:"endpoint"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"" json:"region"` // Region to connect to. + Endpoint string `json:"endpoint"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3NeteaseStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3NeteaseConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2136,47 +2136,47 @@ type createS3NeteaseStorageRequest struct { func createS3NeteaseStorage() {} type s3OtherConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:""` // Region to connect to. - Endpoint string `json:"endpoint"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"" json:"region"` // Region to connect to. + Endpoint string `json:"endpoint"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3OtherStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3OtherConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2195,48 +2195,48 @@ type createS3OtherStorageRequest struct { func createS3OtherStorage() {} type s3QiniuConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:"cn-east-1"` // Region to connect to. - Endpoint string `json:"endpoint" example:"s3-cn-east-1.qiniucs.com"` // Endpoint for Qiniu Object Storage. - LocationConstraint string `json:"locationConstraint" example:"cn-east-1"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - StorageClass string `json:"storageClass" example:"STANDARD"` // The storage class to use when storing new objects in Qiniu. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"cn-east-1" json:"region"` // Region to connect to. + Endpoint string `example:"s3-cn-east-1.qiniucs.com" json:"endpoint"` // Endpoint for Qiniu Object Storage. + LocationConstraint string `example:"cn-east-1" json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + StorageClass string `example:"STANDARD" json:"storageClass"` // The storage class to use when storing new objects in Qiniu. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3QiniuStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3QiniuConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2255,47 +2255,47 @@ type createS3QiniuStorageRequest struct { func createS3QiniuStorage() {} type s3RackCorpConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:"global"` // region - the location where your bucket will be created and your data stored. - Endpoint string `json:"endpoint" example:"s3.rackcorp.com"` // Endpoint for RackCorp Object Storage. - LocationConstraint string `json:"locationConstraint" example:"global"` // Location constraint - the location where your bucket will be located and your data stored. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"global" json:"region"` // region - the location where your bucket will be created and your data stored. + Endpoint string `example:"s3.rackcorp.com" json:"endpoint"` // Endpoint for RackCorp Object Storage. + LocationConstraint string `example:"global" json:"locationConstraint"` // Location constraint - the location where your bucket will be located and your data stored. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3RackCorpStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3RackCorpConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2314,47 +2314,47 @@ type createS3RackCorpStorageRequest struct { func createS3RackCorpStorage() {} type s3ScalewayConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:"nl-ams"` // Region to connect to. - Endpoint string `json:"endpoint" example:"s3.nl-ams.scw.cloud"` // Endpoint for Scaleway Object Storage. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - StorageClass string `json:"storageClass" example:""` // The storage class to use when storing new objects in S3. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"nl-ams" json:"region"` // Region to connect to. + Endpoint string `example:"s3.nl-ams.scw.cloud" json:"endpoint"` // Endpoint for Scaleway Object Storage. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + StorageClass string `example:"" json:"storageClass"` // The storage class to use when storing new objects in S3. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3ScalewayStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3ScalewayConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2373,47 +2373,47 @@ type createS3ScalewayStorageRequest struct { func createS3ScalewayStorage() {} type s3SeaweedFSConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:""` // Region to connect to. - Endpoint string `json:"endpoint" example:"localhost:8333"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"" json:"region"` // Region to connect to. + Endpoint string `example:"localhost:8333" json:"endpoint"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3SeaweedFSStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3SeaweedFSConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2432,46 +2432,46 @@ type createS3SeaweedFSStorageRequest struct { func createS3SeaweedFSStorage() {} type s3StackPathConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:""` // Region to connect to. - Endpoint string `json:"endpoint" example:"s3.us-east-2.stackpathstorage.com"` // Endpoint for StackPath Object Storage. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"" json:"region"` // Region to connect to. + Endpoint string `example:"s3.us-east-2.stackpathstorage.com" json:"endpoint"` // Endpoint for StackPath Object Storage. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3StackPathStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3StackPathConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2490,44 +2490,44 @@ type createS3StackPathStorageRequest struct { func createS3StackPathStorage() {} type s3StorjConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Endpoint string `json:"endpoint" example:"gateway.storjshare.io"` // Endpoint for Storj Gateway. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Endpoint string `example:"gateway.storjshare.io" json:"endpoint"` // Endpoint for Storj Gateway. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3StorjStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3StorjConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2546,46 +2546,46 @@ type createS3StorjStorageRequest struct { func createS3StorjStorage() {} type s3TencentCOSConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Endpoint string `json:"endpoint" example:"cos.ap-beijing.myqcloud.com"` // Endpoint for Tencent COS API. - Acl string `json:"acl" example:"default"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - StorageClass string `json:"storageClass" example:""` // The storage class to use when storing new objects in Tencent COS. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Endpoint string `example:"cos.ap-beijing.myqcloud.com" json:"endpoint"` // Endpoint for Tencent COS API. + Acl string `example:"default" json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + StorageClass string `example:"" json:"storageClass"` // The storage class to use when storing new objects in Tencent COS. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3TencentCOSStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3TencentCOSConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2604,47 +2604,47 @@ type createS3TencentCOSStorageRequest struct { func createS3TencentCOSStorage() {} type s3WasabiConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `json:"region" example:""` // Region to connect to. - Endpoint string `json:"endpoint" example:"s3.wasabisys.com"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. - UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. - ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. - MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. - CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. - DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. - ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. - V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. - ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. - Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. - MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. - VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. - Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. - MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `example:"" json:"region"` // Region to connect to. + Endpoint string `example:"s3.wasabisys.com" json:"endpoint"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. + UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. + ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. + MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. + CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. + DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. + ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. + V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. + ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. + VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. + Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. + MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata } type createS3WasabiStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3WasabiConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2663,19 +2663,19 @@ type createS3WasabiStorageRequest struct { func createS3WasabiStorage() {} type seafileConfig struct { - Url string `json:"url" example:"https://cloud.seafile.com/"` // URL of seafile host to connect to. - User string `json:"user"` // User name (usually email address). - Pass string `json:"pass"` // Password. - TwoFA bool `json:"2fa" default:"false"` // Two-factor authentication ('true' if the account has 2FA enabled). - Library string `json:"library"` // Name of the library. - LibraryKey string `json:"libraryKey"` // Library password (for encrypted libraries only). - CreateLibrary bool `json:"createLibrary" default:"false"` // Should rclone create a library if it doesn't exist. - AuthToken string `json:"authToken"` // Authentication token. - Encoding string `json:"encoding" default:"Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8"` // The encoding for the backend. + Url string `example:"https://cloud.seafile.com/" json:"url"` // URL of seafile host to connect to. + User string `json:"user"` // User name (usually email address). + Pass string `json:"pass"` // Password. + TwoFA bool `default:"false" json:"2fa"` // Two-factor authentication ('true' if the account has 2FA enabled). + Library string `json:"library"` // Name of the library. + LibraryKey string `json:"libraryKey"` // Library password (for encrypted libraries only). + CreateLibrary bool `default:"false" json:"createLibrary"` // Should rclone create a library if it doesn't exist. + AuthToken string `json:"authToken"` // Authentication token. + Encoding string `default:"Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8" json:"encoding"` // The encoding for the backend. } type createSeafileStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config seafileConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2694,41 +2694,41 @@ type createSeafileStorageRequest struct { func createSeafileStorage() {} type sftpConfig struct { - Host string `json:"host"` // SSH host to connect to. - User string `json:"user" default:"$USER"` // SSH username. - Port int `json:"port" default:"22"` // SSH port number. - Pass string `json:"pass"` // SSH password, leave blank to use ssh-agent. - KeyPem string `json:"keyPem"` // Raw PEM-encoded private key. - KeyFile string `json:"keyFile"` // Path to PEM-encoded private key file. - KeyFilePass string `json:"keyFilePass"` // The passphrase to decrypt the PEM-encoded private key file. - PubkeyFile string `json:"pubkeyFile"` // Optional path to public key file. - KnownHostsFile string `json:"knownHostsFile" example:"~/.ssh/known_hosts"` // Optional path to known_hosts file. - KeyUseAgent bool `json:"keyUseAgent" default:"false"` // When set forces the usage of the ssh-agent. - UseInsecureCipher bool `json:"useInsecureCipher" default:"false" example:"false"` // Enable the use of insecure ciphers and key exchange methods. - DisableHashcheck bool `json:"disableHashcheck" default:"false"` // Disable the execution of SSH commands to determine if remote file hashing is available. - AskPassword bool `json:"askPassword" default:"false"` // Allow asking for SFTP password when needed. - PathOverride string `json:"pathOverride"` // Override path used by SSH shell commands. - SetModtime bool `json:"setModtime" default:"true"` // Set the modified time on the remote if set. - ShellType string `json:"shellType" example:"none"` // The type of SSH shell on remote server, if any. - Md5sumCommand string `json:"md5sumCommand"` // The command used to read md5 hashes. - Sha1sumCommand string `json:"sha1sumCommand"` // The command used to read sha1 hashes. - SkipLinks bool `json:"skipLinks" default:"false"` // Set to skip any symlinks and any other non regular files. - Subsystem string `json:"subsystem" default:"sftp"` // Specifies the SSH2 subsystem on the remote host. - ServerCommand string `json:"serverCommand"` // Specifies the path or command to run a sftp server on the remote host. - UseFstat bool `json:"useFstat" default:"false"` // If set use fstat instead of stat. - DisableConcurrentReads bool `json:"disableConcurrentReads" default:"false"` // If set don't use concurrent reads. - DisableConcurrentWrites bool `json:"disableConcurrentWrites" default:"false"` // If set don't use concurrent writes. - IdleTimeout string `json:"idleTimeout" default:"1m0s"` // Max time before closing idle connections. - ChunkSize string `json:"chunkSize" default:"32Ki"` // Upload and download chunk size. - Concurrency int `json:"concurrency" default:"64"` // The maximum number of outstanding requests for one file - SetEnv string `json:"setEnv"` // Environment variables to pass to sftp and commands - Ciphers string `json:"ciphers"` // Space separated list of ciphers to be used for session encryption, ordered by preference. - KeyExchange string `json:"keyExchange"` // Space separated list of key exchange algorithms, ordered by preference. - Macs string `json:"macs"` // Space separated list of MACs (message authentication code) algorithms, ordered by preference. + Host string `json:"host"` // SSH host to connect to. + User string `default:"$USER" json:"user"` // SSH username. + Port int `default:"22" json:"port"` // SSH port number. + Pass string `json:"pass"` // SSH password, leave blank to use ssh-agent. + KeyPem string `json:"keyPem"` // Raw PEM-encoded private key. + KeyFile string `json:"keyFile"` // Path to PEM-encoded private key file. + KeyFilePass string `json:"keyFilePass"` // The passphrase to decrypt the PEM-encoded private key file. + PubkeyFile string `json:"pubkeyFile"` // Optional path to public key file. + KnownHostsFile string `example:"~/.ssh/known_hosts" json:"knownHostsFile"` // Optional path to known_hosts file. + KeyUseAgent bool `default:"false" json:"keyUseAgent"` // When set forces the usage of the ssh-agent. + UseInsecureCipher bool `default:"false" example:"false" json:"useInsecureCipher"` // Enable the use of insecure ciphers and key exchange methods. + DisableHashcheck bool `default:"false" json:"disableHashcheck"` // Disable the execution of SSH commands to determine if remote file hashing is available. + AskPassword bool `default:"false" json:"askPassword"` // Allow asking for SFTP password when needed. + PathOverride string `json:"pathOverride"` // Override path used by SSH shell commands. + SetModtime bool `default:"true" json:"setModtime"` // Set the modified time on the remote if set. + ShellType string `example:"none" json:"shellType"` // The type of SSH shell on remote server, if any. + Md5sumCommand string `json:"md5sumCommand"` // The command used to read md5 hashes. + Sha1sumCommand string `json:"sha1sumCommand"` // The command used to read sha1 hashes. + SkipLinks bool `default:"false" json:"skipLinks"` // Set to skip any symlinks and any other non regular files. + Subsystem string `default:"sftp" json:"subsystem"` // Specifies the SSH2 subsystem on the remote host. + ServerCommand string `json:"serverCommand"` // Specifies the path or command to run a sftp server on the remote host. + UseFstat bool `default:"false" json:"useFstat"` // If set use fstat instead of stat. + DisableConcurrentReads bool `default:"false" json:"disableConcurrentReads"` // If set don't use concurrent reads. + DisableConcurrentWrites bool `default:"false" json:"disableConcurrentWrites"` // If set don't use concurrent writes. + IdleTimeout string `default:"1m0s" json:"idleTimeout"` // Max time before closing idle connections. + ChunkSize string `default:"32Ki" json:"chunkSize"` // Upload and download chunk size. + Concurrency int `default:"64" json:"concurrency"` // The maximum number of outstanding requests for one file + SetEnv string `json:"setEnv"` // Environment variables to pass to sftp and commands + Ciphers string `json:"ciphers"` // Space separated list of ciphers to be used for session encryption, ordered by preference. + KeyExchange string `json:"keyExchange"` // Space separated list of key exchange algorithms, ordered by preference. + Macs string `json:"macs"` // Space separated list of MACs (message authentication code) algorithms, ordered by preference. } type createSftpStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config sftpConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2747,15 +2747,15 @@ type createSftpStorageRequest struct { func createSftpStorage() {} type sharefileConfig struct { - UploadCutoff string `json:"uploadCutoff" default:"128Mi"` // Cutoff for switching to multipart upload. - RootFolderId string `json:"rootFolderId" example:""` // ID of the root folder. - ChunkSize string `json:"chunkSize" default:"64Mi"` // Upload chunk size. - Endpoint string `json:"endpoint"` // Endpoint for API calls. - Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot"` // The encoding for the backend. + UploadCutoff string `default:"128Mi" json:"uploadCutoff"` // Cutoff for switching to multipart upload. + RootFolderId string `example:"" json:"rootFolderId"` // ID of the root folder. + ChunkSize string `default:"64Mi" json:"chunkSize"` // Upload chunk size. + Endpoint string `json:"endpoint"` // Endpoint for API calls. + Encoding string `default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createSharefileStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config sharefileConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2774,14 +2774,14 @@ type createSharefileStorageRequest struct { func createSharefileStorage() {} type siaConfig struct { - ApiUrl string `json:"apiUrl" default:"http://127.0.0.1:9980"` // Sia daemon API URL, like http://sia.daemon.host:9980. - ApiPassword string `json:"apiPassword"` // Sia Daemon API Password. - UserAgent string `json:"userAgent" default:"Sia-Agent"` // Siad User Agent - Encoding string `json:"encoding" default:"Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. + ApiUrl string `default:"http://127.0.0.1:9980" json:"apiUrl"` // Sia daemon API URL, like http://sia.daemon.host:9980. + ApiPassword string `json:"apiPassword"` // Sia Daemon API Password. + UserAgent string `default:"Sia-Agent" json:"userAgent"` // Siad User Agent + Encoding string `default:"Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createSiaStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config siaConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2800,20 +2800,20 @@ type createSiaStorageRequest struct { func createSiaStorage() {} type smbConfig struct { - Host string `json:"host"` // SMB server hostname to connect to. - User string `json:"user" default:"$USER"` // SMB username. - Port int `json:"port" default:"445"` // SMB port number. - Pass string `json:"pass"` // SMB password. - Domain string `json:"domain" default:"WORKGROUP"` // Domain name for NTLM authentication. - Spn string `json:"spn"` // Service principal name. - IdleTimeout string `json:"idleTimeout" default:"1m0s"` // Max time before closing idle connections. - HideSpecialShare bool `json:"hideSpecialShare" default:"true"` // Hide special shares (e.g. print$) which users aren't supposed to access. - CaseInsensitive bool `json:"caseInsensitive" default:"true"` // Whether the server is configured to be case-insensitive. - Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot"` // The encoding for the backend. + Host string `json:"host"` // SMB server hostname to connect to. + User string `default:"$USER" json:"user"` // SMB username. + Port int `default:"445" json:"port"` // SMB port number. + Pass string `json:"pass"` // SMB password. + Domain string `default:"WORKGROUP" json:"domain"` // Domain name for NTLM authentication. + Spn string `json:"spn"` // Service principal name. + IdleTimeout string `default:"1m0s" json:"idleTimeout"` // Max time before closing idle connections. + HideSpecialShare bool `default:"true" json:"hideSpecialShare"` // Hide special shares (e.g. print$) which users aren't supposed to access. + CaseInsensitive bool `default:"true" json:"caseInsensitive"` // Whether the server is configured to be case-insensitive. + Encoding string `default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createSmbStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config smbConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2836,7 +2836,7 @@ type storjExistingConfig struct { } type createStorjExistingStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config storjExistingConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2855,13 +2855,13 @@ type createStorjExistingStorageRequest struct { func createStorjExistingStorage() {} type storjNewConfig struct { - SatelliteAddress string `json:"satelliteAddress" default:"us1.storj.io" example:"us1.storj.io"` // Satellite address. + SatelliteAddress string `default:"us1.storj.io" example:"us1.storj.io" json:"satelliteAddress"` // Satellite address. ApiKey string `json:"apiKey"` // API key. Passphrase string `json:"passphrase"` // Encryption passphrase. } type createStorjNewStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config storjNewConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2880,21 +2880,21 @@ type createStorjNewStorageRequest struct { func createStorjNewStorage() {} type sugarsyncConfig struct { - AppId string `json:"appId"` // Sugarsync App ID. - AccessKeyId string `json:"accessKeyId"` // Sugarsync Access Key ID. - PrivateAccessKey string `json:"privateAccessKey"` // Sugarsync Private Access Key. - HardDelete bool `json:"hardDelete" default:"false"` // Permanently delete files if true - RefreshToken string `json:"refreshToken"` // Sugarsync refresh token. - Authorization string `json:"authorization"` // Sugarsync authorization. - AuthorizationExpiry string `json:"authorizationExpiry"` // Sugarsync authorization expiry. - User string `json:"user"` // Sugarsync user. - RootId string `json:"rootId"` // Sugarsync root id. - DeletedId string `json:"deletedId"` // Sugarsync deleted folder id. - Encoding string `json:"encoding" default:"Slash,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. + AppId string `json:"appId"` // Sugarsync App ID. + AccessKeyId string `json:"accessKeyId"` // Sugarsync Access Key ID. + PrivateAccessKey string `json:"privateAccessKey"` // Sugarsync Private Access Key. + HardDelete bool `default:"false" json:"hardDelete"` // Permanently delete files if true + RefreshToken string `json:"refreshToken"` // Sugarsync refresh token. + Authorization string `json:"authorization"` // Sugarsync authorization. + AuthorizationExpiry string `json:"authorizationExpiry"` // Sugarsync authorization expiry. + User string `json:"user"` // Sugarsync user. + RootId string `json:"rootId"` // Sugarsync root id. + DeletedId string `json:"deletedId"` // Sugarsync deleted folder id. + Encoding string `default:"Slash,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createSugarsyncStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config sugarsyncConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2913,33 +2913,33 @@ type createSugarsyncStorageRequest struct { func createSugarsyncStorage() {} type swiftConfig struct { - EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get swift credentials from environment variables in standard OpenStack form. - User string `json:"user"` // User name to log in (OS_USERNAME). - Key string `json:"key"` // API key or password (OS_PASSWORD). - Auth string `json:"auth" example:"https://auth.api.rackspacecloud.com/v1.0"` // Authentication URL for server (OS_AUTH_URL). - UserId string `json:"userId"` // User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID). - Domain string `json:"domain"` // User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME) - Tenant string `json:"tenant"` // Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME). - TenantId string `json:"tenantId"` // Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID). - TenantDomain string `json:"tenantDomain"` // Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME). - Region string `json:"region"` // Region name - optional (OS_REGION_NAME). - StorageUrl string `json:"storageUrl"` // Storage URL - optional (OS_STORAGE_URL). - AuthToken string `json:"authToken"` // Auth Token from alternate authentication - optional (OS_AUTH_TOKEN). - ApplicationCredentialId string `json:"applicationCredentialId"` // Application Credential ID (OS_APPLICATION_CREDENTIAL_ID). - ApplicationCredentialName string `json:"applicationCredentialName"` // Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME). - ApplicationCredentialSecret string `json:"applicationCredentialSecret"` // Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET). - AuthVersion int `json:"authVersion" default:"0"` // AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION). - EndpointType string `json:"endpointType" default:"public" example:"public"` // Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE). - LeavePartsOnError bool `json:"leavePartsOnError" default:"false"` // If true avoid calling abort upload on a failure. - StoragePolicy string `json:"storagePolicy" example:""` // The storage policy to use when creating a new container. - ChunkSize string `json:"chunkSize" default:"5Gi"` // Above this size files will be chunked into a _segments container. - NoChunk bool `json:"noChunk" default:"false"` // Don't chunk files during streaming upload. - NoLargeObjects bool `json:"noLargeObjects" default:"false"` // Disable support for static and dynamic large objects - Encoding string `json:"encoding" default:"Slash,InvalidUtf8"` // The encoding for the backend. + EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get swift credentials from environment variables in standard OpenStack form. + User string `json:"user"` // User name to log in (OS_USERNAME). + Key string `json:"key"` // API key or password (OS_PASSWORD). + Auth string `example:"https://auth.api.rackspacecloud.com/v1.0" json:"auth"` // Authentication URL for server (OS_AUTH_URL). + UserId string `json:"userId"` // User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID). + Domain string `json:"domain"` // User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME) + Tenant string `json:"tenant"` // Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME). + TenantId string `json:"tenantId"` // Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID). + TenantDomain string `json:"tenantDomain"` // Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME). + Region string `json:"region"` // Region name - optional (OS_REGION_NAME). + StorageUrl string `json:"storageUrl"` // Storage URL - optional (OS_STORAGE_URL). + AuthToken string `json:"authToken"` // Auth Token from alternate authentication - optional (OS_AUTH_TOKEN). + ApplicationCredentialId string `json:"applicationCredentialId"` // Application Credential ID (OS_APPLICATION_CREDENTIAL_ID). + ApplicationCredentialName string `json:"applicationCredentialName"` // Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME). + ApplicationCredentialSecret string `json:"applicationCredentialSecret"` // Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET). + AuthVersion int `default:"0" json:"authVersion"` // AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION). + EndpointType string `default:"public" example:"public" json:"endpointType"` // Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE). + LeavePartsOnError bool `default:"false" json:"leavePartsOnError"` // If true avoid calling abort upload on a failure. + StoragePolicy string `example:"" json:"storagePolicy"` // The storage policy to use when creating a new container. + ChunkSize string `default:"5Gi" json:"chunkSize"` // Above this size files will be chunked into a _segments container. + NoChunk bool `default:"false" json:"noChunk"` // Don't chunk files during streaming upload. + NoLargeObjects bool `default:"false" json:"noLargeObjects"` // Disable support for static and dynamic large objects + Encoding string `default:"Slash,InvalidUtf8" json:"encoding"` // The encoding for the backend. } type createSwiftStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config swiftConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2958,16 +2958,16 @@ type createSwiftStorageRequest struct { func createSwiftStorage() {} type unionConfig struct { - Upstreams string `json:"upstreams"` // List of space separated upstreams. - ActionPolicy string `json:"actionPolicy" default:"epall"` // Policy to choose upstream on ACTION category. - CreatePolicy string `json:"createPolicy" default:"epmfs"` // Policy to choose upstream on CREATE category. - SearchPolicy string `json:"searchPolicy" default:"ff"` // Policy to choose upstream on SEARCH category. - CacheTime int `json:"cacheTime" default:"120"` // Cache time of usage and free space (in seconds). - MinFreeSpace string `json:"minFreeSpace" default:"1Gi"` // Minimum viable free space for lfs/eplfs policies. + Upstreams string `json:"upstreams"` // List of space separated upstreams. + ActionPolicy string `default:"epall" json:"actionPolicy"` // Policy to choose upstream on ACTION category. + CreatePolicy string `default:"epmfs" json:"createPolicy"` // Policy to choose upstream on CREATE category. + SearchPolicy string `default:"ff" json:"searchPolicy"` // Policy to choose upstream on SEARCH category. + CacheTime int `default:"120" json:"cacheTime"` // Cache time of usage and free space (in seconds). + MinFreeSpace string `default:"1Gi" json:"minFreeSpace"` // Minimum viable free space for lfs/eplfs policies. } type createUnionStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config unionConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2987,11 +2987,11 @@ func createUnionStorage() {} type uptoboxConfig struct { AccessToken string `json:"accessToken"` // Your access token. - Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,BackQuote,Del,Ctl,LeftSpace,InvalidUtf8,Dot"` // The encoding for the backend. + Encoding string `default:"Slash,LtGt,DoubleQuote,BackQuote,Del,Ctl,LeftSpace,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createUptoboxStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config uptoboxConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -3010,18 +3010,18 @@ type createUptoboxStorageRequest struct { func createUptoboxStorage() {} type webdavConfig struct { - Url string `json:"url"` // URL of http host to connect to. - Vendor string `json:"vendor" example:"nextcloud"` // Name of the WebDAV site/service/software you are using. - User string `json:"user"` // User name. - Pass string `json:"pass"` // Password. - BearerToken string `json:"bearerToken"` // Bearer token instead of user/pass (e.g. a Macaroon). - BearerTokenCommand string `json:"bearerTokenCommand"` // Command to run to get a bearer token. - Encoding string `json:"encoding"` // The encoding for the backend. - Headers string `json:"headers"` // Set HTTP headers for all transactions. + Url string `json:"url"` // URL of http host to connect to. + Vendor string `example:"nextcloud" json:"vendor"` // Name of the WebDAV site/service/software you are using. + User string `json:"user"` // User name. + Pass string `json:"pass"` // Password. + BearerToken string `json:"bearerToken"` // Bearer token instead of user/pass (e.g. a Macaroon). + BearerTokenCommand string `json:"bearerTokenCommand"` // Command to run to get a bearer token. + Encoding string `json:"encoding"` // The encoding for the backend. + Headers string `json:"headers"` // Set HTTP headers for all transactions. } type createWebdavStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config webdavConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -3040,17 +3040,17 @@ type createWebdavStorageRequest struct { func createWebdavStorage() {} type yandexConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - HardDelete bool `json:"hardDelete" default:"false"` // Delete files permanently rather than putting them into the trash. - Encoding string `json:"encoding" default:"Slash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + HardDelete bool `default:"false" json:"hardDelete"` // Delete files permanently rather than putting them into the trash. + Encoding string `default:"Slash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. } type createYandexStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config yandexConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -3074,12 +3074,12 @@ type zohoConfig struct { Token string `json:"token"` // OAuth Access Token as a JSON blob. AuthUrl string `json:"authUrl"` // Auth server URL. TokenUrl string `json:"tokenUrl"` // Token server url. - Region string `json:"region" example:"com"` // Zoho region to connect to. - Encoding string `json:"encoding" default:"Del,Ctl,InvalidUtf8"` // The encoding for the backend. + Region string `example:"com" json:"region"` // Zoho region to connect to. + Encoding string `default:"Del,Ctl,InvalidUtf8" json:"encoding"` // The encoding for the backend. } type createZohoStorageRequest struct { - Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique + Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config zohoConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client diff --git a/handler/tool/extractcar.go b/handler/tool/extractcar.go index adcb07a9..44f85af6 100644 --- a/handler/tool/extractcar.go +++ b/handler/tool/extractcar.go @@ -128,7 +128,6 @@ func ExtractCarHandler(ctx *cli.Context, inputDir string, output string, c cid.C } return nil }) - if err != nil { return errors.Wrap(err, "failed to walk input directory") } @@ -157,7 +156,7 @@ func getOutPathForFile(outPath string, c cid.Cid) (string, error) { stat, err := os.Stat(outPath) // If the user supply /a/b.txt but the file does not exist, then we need to mkdir -p /a if errors.Is(err, oserror.ErrNotExist) { - err = os.MkdirAll(filepath.Dir(outPath), 0755) + err = os.MkdirAll(filepath.Dir(outPath), 0o755) if err != nil { return "", errors.Wrapf(err, "failed to create output directory %s", filepath.Dir(outPath)) } @@ -191,7 +190,7 @@ func writeToOutput(ctx *cli.Context, dagServ ipld.DAGService, outPath string, c } } _, _ = ctx.App.Writer.Write([]byte(fmt.Sprintf("Writing to %s\n", outPath))) - return os.WriteFile(outPath, node.RawData(), 0600) + return os.WriteFile(outPath, node.RawData(), 0o600) case cid.DagProtobuf: fsnode, err := unixfs.ExtractFSNode(node) if err != nil { @@ -225,7 +224,7 @@ func writeToOutput(ctx *cli.Context, dagServ ipld.DAGService, outPath string, c return errors.Wrapf(err, "failed to create directory from node for CID %s", c) } _, _ = ctx.App.Writer.Write([]byte(fmt.Sprintf("Create Dir %s\n", outPath))) - err = os.MkdirAll(outPath, 0755) + err = os.MkdirAll(outPath, 0o755) if err != nil { return errors.Wrapf(err, "failed to create output directory %s", outPath) } diff --git a/handler/wallet/attach.go b/handler/wallet/attach.go index fb7603a4..e2b374bf 100644 --- a/handler/wallet/attach.go +++ b/handler/wallet/attach.go @@ -49,7 +49,6 @@ func (DefaultHandler) AttachHandler( err = database.DoRetry(ctx, func() error { return db.Model(&preparation).Association("Wallets").Append(&w) }) - if err != nil { return nil, errors.WithStack(err) } diff --git a/handler/wallet/detach.go b/handler/wallet/detach.go index 6b1ace1e..7dee510f 100644 --- a/handler/wallet/detach.go +++ b/handler/wallet/detach.go @@ -41,7 +41,6 @@ func (DefaultHandler) DetachHandler( found, err := underscore.Find(preparation.Wallets, func(w model.Wallet) bool { return w.ID == wallet || w.Address == wallet }) - if err != nil { return nil, errors.Wrapf(handlererror.ErrNotFound, "wallet %s not attached to preparation %d", wallet, preparationID) } @@ -49,7 +48,6 @@ func (DefaultHandler) DetachHandler( err = database.DoRetry(ctx, func() error { return db.Model(&preparation).Association("Wallets").Delete(&found) }) - if err != nil { return nil, errors.WithStack(err) } diff --git a/migrate/types.go b/migrate/types.go index f6584193..9de6c98e 100644 --- a/migrate/types.go +++ b/migrate/types.go @@ -6,9 +6,11 @@ import ( "go.mongodb.org/mongo-driver/bson/primitive" ) -type ScanningRequestStatus string -type GenerationRequestStatus string -type ReplicationRequestStatus string +type ( + ScanningRequestStatus string + GenerationRequestStatus string + ReplicationRequestStatus string +) const ( ScanningStatusActive ScanningRequestStatus = "active" diff --git a/model/basetypes.go b/model/basetypes.go index c6936ce0..fc5d30eb 100644 --- a/model/basetypes.go +++ b/model/basetypes.go @@ -13,10 +13,12 @@ import ( "golang.org/x/exp/slices" ) -var ErrInvalidCIDEntry = errors.New("invalid CID entry in the database") -var ErrInvalidStringSliceEntry = errors.New("invalid string slice entry in the database") -var ErrInvalidStringMapEntry = errors.New("invalid string map entry in the database") -var ErrInvalidHTTPConfigEntry = errors.New("invalid ClientConfig entry in the database") +var ( + ErrInvalidCIDEntry = errors.New("invalid CID entry in the database") + ErrInvalidStringSliceEntry = errors.New("invalid string slice entry in the database") + ErrInvalidStringMapEntry = errors.New("invalid string map entry in the database") + ErrInvalidHTTPConfigEntry = errors.New("invalid ClientConfig entry in the database") +) type StringSlice []string @@ -135,6 +137,7 @@ func (c *CID) Scan(src any) error { func (ss StringSlice) Value() (driver.Value, error) { return json.Marshal(ss) } + func (m ConfigMap) Value() (driver.Value, error) { return json.Marshal(m) } diff --git a/pack/assembler.go b/pack/assembler.go index 1a95f670..359aced8 100644 --- a/pack/assembler.go +++ b/pack/assembler.go @@ -70,7 +70,8 @@ func (a *Assembler) Close() error { // NewAssembler initializes a new Assembler instance with the given parameters. func NewAssembler(ctx context.Context, reader storagesystem.Reader, - fileRanges []model.FileRange, noInline bool, skipInaccessibleFiles bool) *Assembler { + fileRanges []model.FileRange, noInline bool, skipInaccessibleFiles bool, +) *Assembler { return &Assembler{ ctx: ctx, reader: reader, diff --git a/pack/daggen/directory.go b/pack/daggen/directory.go index af030105..2069afb4 100644 --- a/pack/daggen/directory.go +++ b/pack/daggen/directory.go @@ -16,8 +16,10 @@ import ( "github.com/klauspost/compress/zstd" ) -var compressor, _ = zstd.NewWriter(nil, zstd.WithEncoderLevel(zstd.SpeedDefault)) -var decompressor, _ = zstd.NewReader(nil, zstd.WithDecoderConcurrency(0)) +var ( + compressor, _ = zstd.NewWriter(nil, zstd.WithEncoderLevel(zstd.SpeedDefault)) + decompressor, _ = zstd.NewReader(nil, zstd.WithDecoderConcurrency(0)) +) type DirectoryDetail struct { Dir *model.Directory diff --git a/pack/pack.go b/pack/pack.go index 3f9f7de4..53355590 100644 --- a/pack/pack.go +++ b/pack/pack.go @@ -5,25 +5,24 @@ import ( "io" "time" + "github.com/cockroachdb/errors" "github.com/data-preservation-programs/singularity/analytics" "github.com/data-preservation-programs/singularity/database" + "github.com/data-preservation-programs/singularity/model" "github.com/data-preservation-programs/singularity/pack/daggen" "github.com/data-preservation-programs/singularity/pack/packutil" "github.com/data-preservation-programs/singularity/storagesystem" "github.com/data-preservation-programs/singularity/util" - "github.com/google/uuid" - "github.com/rjNemo/underscore" - "gorm.io/gorm" - "gorm.io/gorm/clause" - - "github.com/cockroachdb/errors" - "github.com/data-preservation-programs/singularity/model" commcid "github.com/filecoin-project/go-fil-commcid" commp "github.com/filecoin-project/go-fil-commp-hashhash" + "github.com/google/uuid" blocks "github.com/ipfs/go-block-format" "github.com/ipfs/go-cid" format "github.com/ipfs/go-ipld-format" "github.com/ipfs/go-log/v2" + "github.com/rjNemo/underscore" + "gorm.io/gorm" + "gorm.io/gorm/clause" ) var logger = log.Logger("pack") diff --git a/pack/packutil/util.go b/pack/packutil/util.go index 84a363c3..9692ea04 100644 --- a/pack/packutil/util.go +++ b/pack/packutil/util.go @@ -8,11 +8,11 @@ import ( "github.com/data-preservation-programs/singularity/util" "github.com/ipfs/boxo/ipld/merkledag" "github.com/ipfs/boxo/ipld/unixfs" - "github.com/ipfs/boxo/ipld/unixfs/pb" + unixfs_pb "github.com/ipfs/boxo/ipld/unixfs/pb" util2 "github.com/ipfs/boxo/util" - "github.com/ipfs/go-block-format" + blocks "github.com/ipfs/go-block-format" "github.com/ipfs/go-cid" - "github.com/ipfs/go-ipld-format" + format "github.com/ipfs/go-ipld-format" "github.com/multiformats/go-varint" ) @@ -22,8 +22,10 @@ var EmptyFileVarint = varint.ToUvarint(uint64(len(EmptyFileCid.Bytes()))) var EmptyCarHeader, _ = util.GenerateCarHeader(EmptyFileCid) -const ChunkSize int64 = 1 << 20 -const NumLinkPerNode = 1024 +const ( + ChunkSize int64 = 1 << 20 + NumLinkPerNode = 1024 +) // createParentNode creates a new parent ProtoNode for a given set of links. // It constructs a UnixFS node with the type Data_File and adds the sizes of diff --git a/pack/push/pushfile.go b/pack/push/pushfile.go index 8e8f777e..dad5105b 100644 --- a/pack/push/pushfile.go +++ b/pack/push/pushfile.go @@ -51,7 +51,8 @@ func PushFile( db *gorm.DB, obj fs.ObjectInfo, attachment model.SourceAttachment, - directoryCache map[string]model.DirectoryID) (*model.File, []model.FileRange, error) { + directoryCache map[string]model.DirectoryID, +) (*model.File, []model.FileRange, error) { logger.Debugw("pushing file", "file", obj.Remote(), "preparation", attachment.PreparationID, "storage", attachment.StorageID) db = db.WithContext(ctx) splitSize := MaxSizeToSplitSize(attachment.Preparation.MaxSize) @@ -140,7 +141,8 @@ func EnsureParentDirectories( ctx context.Context, db *gorm.DB, file *model.File, rootDirID model.DirectoryID, - directoryCache map[string]model.DirectoryID) error { + directoryCache map[string]model.DirectoryID, +) error { if file.DirectoryID != nil { return nil } diff --git a/replication/wallet.go b/replication/wallet.go index c57fa5e2..bf8595e3 100644 --- a/replication/wallet.go +++ b/replication/wallet.go @@ -69,7 +69,8 @@ type DatacapWalletChooser struct { } func NewDatacapWalletChooser(db *gorm.DB, cacheTTL time.Duration, - lotusAPI string, lotusToken string, min uint64) DatacapWalletChooser { + lotusAPI string, lotusToken string, min uint64, +) DatacapWalletChooser { cache := ttlcache.New[string, int64]( ttlcache.WithTTL[string, int64](cacheTTL), ttlcache.WithDisableTouchOnHit[string, int64]()) diff --git a/scan/scan.go b/scan/scan.go index 98bb8216..5110d022 100644 --- a/scan/scan.go +++ b/scan/scan.go @@ -38,7 +38,7 @@ var logger = log.Logger("scan") func Scan(ctx context.Context, db *gorm.DB, attachment model.SourceAttachment) error { db = db.WithContext(ctx) directoryCache := make(map[string]model.DirectoryID) - var remaining = push.NewFileRangeSet() + remaining := push.NewFileRangeSet() var remainingFileRanges []model.FileRange err := db.Joins("File"). Where("attachment_id = ? AND file_ranges.job_id is null", attachment.ID). @@ -130,7 +130,8 @@ func addFileRangesAndCreatePackJob( attachmentID model.SourceAttachmentID, remaining *push.FileRangeSet, maxSize int64, - fileRanges ...model.FileRange) error { + fileRanges ...model.FileRange, +) error { for _, fileRange := range fileRanges { fit := remaining.AddIfFits(fileRange, maxSize) if fit { diff --git a/service/contentprovider/contentprovider.go b/service/contentprovider/contentprovider.go index c3306091..2913c2a2 100644 --- a/service/contentprovider/contentprovider.go +++ b/service/contentprovider/contentprovider.go @@ -7,10 +7,9 @@ import ( "github.com/cockroachdb/errors" "github.com/data-preservation-programs/singularity/service" "github.com/data-preservation-programs/singularity/util" + logging "github.com/ipfs/go-log/v2" "github.com/libp2p/go-libp2p/core/crypto" "github.com/multiformats/go-multiaddr" - - logging "github.com/ipfs/go-log/v2" "gorm.io/gorm" ) diff --git a/service/datasetworker/datasetworker.go b/service/datasetworker/datasetworker.go index 6e3e6ad4..ff7dd6d5 100644 --- a/service/datasetworker/datasetworker.go +++ b/service/datasetworker/datasetworker.go @@ -25,9 +25,11 @@ type Worker struct { stateMonitor *StateMonitor } -const defaultMinInterval = 5 * time.Second -const defaultMaxInterval = 160 * time.Second -const cleanupTimeout = 5 * time.Second +const ( + defaultMinInterval = 5 * time.Second + defaultMaxInterval = 160 * time.Second + cleanupTimeout = 5 * time.Second +) type Config struct { Concurrency int diff --git a/service/dealpusher/dealpusher.go b/service/dealpusher/dealpusher.go index 5d2e1e7e..a9f1a037 100644 --- a/service/dealpusher/dealpusher.go +++ b/service/dealpusher/dealpusher.go @@ -7,20 +7,19 @@ import ( "time" "github.com/avast/retry-go" + "github.com/cockroachdb/errors" "github.com/data-preservation-programs/singularity/analytics" "github.com/data-preservation-programs/singularity/database" - "github.com/ipfs/go-cid" - "github.com/libp2p/go-libp2p/core/host" - "github.com/rjNemo/underscore" - "github.com/robfig/cron/v3" - - "github.com/cockroachdb/errors" "github.com/data-preservation-programs/singularity/model" "github.com/data-preservation-programs/singularity/replication" "github.com/data-preservation-programs/singularity/service/healthcheck" "github.com/data-preservation-programs/singularity/util" "github.com/google/uuid" + "github.com/ipfs/go-cid" "github.com/ipfs/go-log/v2" + "github.com/libp2p/go-libp2p/core/host" + "github.com/rjNemo/underscore" + "github.com/robfig/cron/v3" "gorm.io/gorm" ) @@ -267,7 +266,8 @@ func (d *DealPusher) runSchedule(ctx context.Context, schedule *model.Schedule) var total sumResult err = db.Model(&model.Deal{}). Where("schedule_id = ? AND state IN (?)", schedule.ID, []model.DealState{ - model.DealActive, model.DealProposed, model.DealPublished}).Select("COUNT(*) AS deal_number, SUM(piece_size) AS deal_size").Scan(&total).Error + model.DealActive, model.DealProposed, model.DealPublished, + }).Select("COUNT(*) AS deal_number, SUM(piece_size) AS deal_size").Scan(&total).Error if err != nil { return model.ScheduleError, errors.Wrap(err, "failed to count total active and pending deals") } @@ -424,7 +424,8 @@ func (d *DealPusher) runSchedule(ctx context.Context, schedule *model.Schedule) } func NewDealPusher(db *gorm.DB, lotusURL string, - lotusToken string, numAttempts uint, maxReplicas uint) (*DealPusher, error) { + lotusToken string, numAttempts uint, maxReplicas uint, +) (*DealPusher, error) { if numAttempts <= 1 { numAttempts = 1 } diff --git a/service/dealtracker/dealtracker.go b/service/dealtracker/dealtracker.go index e146d339..36a2714c 100644 --- a/service/dealtracker/dealtracker.go +++ b/service/dealtracker/dealtracker.go @@ -29,9 +29,11 @@ import ( var ErrAlreadyRunning = errors.New("another worker already running") -const healthRegisterRetryInterval = time.Minute -const cleanupTimeout = 5 * time.Second -const logStatsInterval = 15 * time.Second +const ( + healthRegisterRetryInterval = time.Minute + cleanupTimeout = 5 * time.Second + logStatsInterval = 15 * time.Second +) type Deal struct { Proposal DealProposal @@ -105,7 +107,8 @@ func NewDealTracker( dealZstURL string, lotusURL string, lotusToken string, - once bool) DealTracker { + once bool, +) DealTracker { return DealTracker{ workerID: uuid.New(), dbNoContext: db, diff --git a/service/downloadserver/downloadserver.go b/service/downloadserver/downloadserver.go index 2056987a..4327ac88 100644 --- a/service/downloadserver/downloadserver.go +++ b/service/downloadserver/downloadserver.go @@ -157,7 +157,8 @@ func GetMetadata( api string, config map[string]string, clientConfig model.ClientConfig, - pieceCid string) (*contentprovider.PieceMetadata, int, error) { + pieceCid string, +) (*contentprovider.PieceMetadata, int, error) { api = strings.TrimSuffix(api, "/") req, err := http.NewRequestWithContext(ctx, http.MethodGet, api+"/piece/metadata/"+pieceCid, nil) if err != nil { diff --git a/service/healthcheck/healthcheck.go b/service/healthcheck/healthcheck.go index a4a57d56..fb148f9f 100644 --- a/service/healthcheck/healthcheck.go +++ b/service/healthcheck/healthcheck.go @@ -14,8 +14,10 @@ import ( "gorm.io/gorm/clause" ) -var staleThreshold = time.Minute * 5 -var reportInterval = time.Minute +var ( + staleThreshold = time.Minute * 5 + reportInterval = time.Minute +) var cleanupInterval = time.Minute * 5 @@ -169,7 +171,6 @@ func ReportHealth(ctx context.Context, db *gorm.DB, workerID uuid.UUID, workerTy DoUpdates: clause.AssignmentColumns([]string{"last_heartbeat", "type", "hostname"}), }).Create(&worker).Error }) - if err != nil { logger.Errorw("failed to send heartbeat", "error", err) } diff --git a/service/service.go b/service/service.go index 101d7510..e3196b82 100644 --- a/service/service.go +++ b/service/service.go @@ -8,7 +8,6 @@ import ( "syscall" "github.com/cockroachdb/errors" - "github.com/ipfs/go-log/v2" "github.com/urfave/cli/v2" ) diff --git a/storagesystem/rclone.go b/storagesystem/rclone.go index c3913b94..46bb8c45 100644 --- a/storagesystem/rclone.go +++ b/storagesystem/rclone.go @@ -22,9 +22,11 @@ var logger = log.Logger("storage") var _ Handler = &RCloneHandler{} -var ErrGetUsageNotSupported = errors.New("The backend does not support getting usage quota") -var ErrBackendNotSupported = errors.New("This backend is not supported") -var ErrMoveNotSupported = errors.New("The backend does not support moving files") +var ( + ErrGetUsageNotSupported = errors.New("The backend does not support getting usage quota") + ErrBackendNotSupported = errors.New("This backend is not supported") + ErrMoveNotSupported = errors.New("The backend does not support moving files") +) type RCloneHandler struct { name string diff --git a/storagesystem/types.go b/storagesystem/types.go index 050b031b..15166216 100644 --- a/storagesystem/types.go +++ b/storagesystem/types.go @@ -243,8 +243,10 @@ func (p ProviderOptions) ToCLICommand(short string, long string, description str return command } -var Backends []Backend -var BackendMap = make(map[string]Backend) +var ( + Backends []Backend + BackendMap = make(map[string]Backend) +) func init() { for _, regInfo := range fs.Registry { diff --git a/storagesystem/util.go b/storagesystem/util.go index a8f0cadf..b3449fa6 100644 --- a/storagesystem/util.go +++ b/storagesystem/util.go @@ -91,8 +91,10 @@ func GetHash(ctx context.Context, object fs.ObjectInfo) (string, error) { var ErrStorageNotAvailable = errors.New("storage not available") -var freeSpaceWarningThreshold = 0.05 -var freeSpaceErrorThreshold = 0.01 +var ( + freeSpaceWarningThreshold = 0.05 + freeSpaceErrorThreshold = 0.01 +) // GetRandomOutputWriter selects a storage from the provided storages list based on its available // space and returns an associated Writer to interact with that storage. diff --git a/store/item_reference.go b/store/item_reference.go index b646b72c..2b7bf8e4 100644 --- a/store/item_reference.go +++ b/store/item_reference.go @@ -10,7 +10,6 @@ import ( "github.com/data-preservation-programs/singularity/util" blocks "github.com/ipfs/go-block-format" "github.com/ipfs/go-cid" - format "github.com/ipfs/go-ipld-format" "gorm.io/gorm" ) diff --git a/store/piece_store.go b/store/piece_store.go index e111de14..f26bc6ef 100644 --- a/store/piece_store.go +++ b/store/piece_store.go @@ -5,30 +5,31 @@ import ( "io" "sort" + "github.com/cockroachdb/errors" + "github.com/data-preservation-programs/singularity/model" "github.com/data-preservation-programs/singularity/storagesystem" "github.com/data-preservation-programs/singularity/util" + "github.com/ipfs/go-cid" "github.com/ipfs/go-log/v2" "github.com/multiformats/go-varint" "github.com/rclone/rclone/fs" - - "github.com/cockroachdb/errors" - "github.com/data-preservation-programs/singularity/model" - "github.com/ipfs/go-cid" ) -var logger = log.Logger("piece_store") -var ErrNoCarBlocks = errors.New("no Blocks provided") -var ErrInvalidStartOffset = errors.New("first block must start at car Header") -var ErrInvalidEndOffset = errors.New("last block must end at car end") -var ErrIncontiguousBlocks = errors.New("Blocks must be contiguous") -var ErrInvalidVarintLength = errors.New("varint read does not match varint length") -var ErrVarintDoesNotMatchBlockLength = errors.New("varint does not match block length") -var ErrFileNotProvided = errors.New("file not provided") -var ErrInvalidWhence = errors.New("invalid whence") -var ErrNegativeOffset = errors.New("negative offset") -var ErrOffsetOutOfRange = errors.New("position past end of file") -var ErrTruncated = errors.New("original file has been truncated") -var ErrFileHasChanged = errors.New("file has changed") +var ( + logger = log.Logger("piece_store") + ErrNoCarBlocks = errors.New("no Blocks provided") + ErrInvalidStartOffset = errors.New("first block must start at car Header") + ErrInvalidEndOffset = errors.New("last block must end at car end") + ErrIncontiguousBlocks = errors.New("Blocks must be contiguous") + ErrInvalidVarintLength = errors.New("varint read does not match varint length") + ErrVarintDoesNotMatchBlockLength = errors.New("varint does not match block length") + ErrFileNotProvided = errors.New("file not provided") + ErrInvalidWhence = errors.New("invalid whence") + ErrNegativeOffset = errors.New("negative offset") + ErrOffsetOutOfRange = errors.New("position past end of file") + ErrTruncated = errors.New("original file has been truncated") + ErrFileHasChanged = errors.New("file has changed") +) // PieceReader is a struct that represents a reader for pieces of data. // diff --git a/testdb/main.go b/testdb/main.go index a4cb1d28..10220ee2 100644 --- a/testdb/main.go +++ b/testdb/main.go @@ -324,7 +324,8 @@ func createPreparation(ctx context.Context, db *gorm.DB) error { model.DealProposed, model.DealPublished, model.DealSlashed, - model.DealActive} + model.DealActive, + } state := states[r.Intn(len(states))] deal := model.Deal{ State: state, diff --git a/util/car.go b/util/car.go index 9acffefa..a1b46c14 100644 --- a/util/car.go +++ b/util/car.go @@ -3,7 +3,7 @@ package util import ( "github.com/cockroachdb/errors" "github.com/ipfs/go-cid" - "github.com/ipfs/go-ipld-cbor" + cbornode "github.com/ipfs/go-ipld-cbor" "github.com/ipld/go-car" "github.com/multiformats/go-varint" ) diff --git a/util/host.go b/util/host.go index 15bb3d0e..485f2294 100644 --- a/util/host.go +++ b/util/host.go @@ -28,7 +28,8 @@ const yamuxID = "/yamux/1.0.0" func InitHost(opts []libp2p.Option, listenAddrs ...multiaddr.Multiaddr) (host.Host, error) { opts = append([]libp2p.Option{ libp2p.Identity(nil), - libp2p.ResourceManager(&network.NullResourceManager{})}, + libp2p.ResourceManager(&network.NullResourceManager{}), + }, opts...) if len(listenAddrs) > 0 { opts = append([]libp2p.Option{libp2p.ListenAddrs(listenAddrs...)}, opts...) @@ -38,17 +39,20 @@ func InitHost(opts []libp2p.Option, listenAddrs ...multiaddr.Multiaddr) (host.Ho libp2p.Transport(tcp.NewTCPTransport, tcp.WithMetrics()), libp2p.Transport(websocket.New), libp2p.Transport(quic.NewTransport), - libp2p.Transport(webtransport.New)}, + libp2p.Transport(webtransport.New), + }, opts...) // add security opts = append([]libp2p.Option{ libp2p.Security(tls.ID, tls.New), - libp2p.Security(noise.ID, noise.New)}, + libp2p.Security(noise.ID, noise.New), + }, opts...) // add muxers opts = append([]libp2p.Option{ - libp2p.Muxer(yamuxID, yamuxTransport())}, + libp2p.Muxer(yamuxID, yamuxTransport()), + }, opts...) //nolint:wrapcheck diff --git a/util/testutil/testutils.go b/util/testutil/testutils.go index 6195979a..5cb16f0c 100644 --- a/util/testutil/testutils.go +++ b/util/testutil/testutils.go @@ -4,14 +4,13 @@ import ( "context" "crypto/rand" "io" + rand2 "math/rand" "net" "os" "strings" "testing" "time" - rand2 "math/rand" - "github.com/cockroachdb/errors" "github.com/data-preservation-programs/singularity/database" "github.com/data-preservation-programs/singularity/model" From cfbcab9e83e3e0859ad76f29154f8840cda88c9f Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 12:08:21 +0200 Subject: [PATCH 08/29] make linter work on github actions --- .github/actions/go-check-setup/action.yml | 2 +- .golangci.yml | 26 +++++++++++------------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/actions/go-check-setup/action.yml b/.github/actions/go-check-setup/action.yml index 9b368154..1d192465 100644 --- a/.github/actions/go-check-setup/action.yml +++ b/.github/actions/go-check-setup/action.yml @@ -21,5 +21,5 @@ runs: - name: Lint uses: golangci/golangci-lint-action@v7 with: - version: v2.1.2 + version: v2.1.5 args: --timeout=10m diff --git a/.golangci.yml b/.golangci.yml index 5442f364..af05fae7 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -88,16 +88,6 @@ linters: - wrapcheck - wsl - settings: - errcheck: - exclude-functions: - - (github.com/libp2p/go-libp2p/network.MuxedStream).SetDeadline - - (github.com/data-preservation-programs/singularity/service.DatasetWorker).cleanup - revive: - rules: - - name: var-naming - disabled: true - exclusions: paths: - replication/internal @@ -107,9 +97,19 @@ linters: - handler/datasource/generate - handler/storage/gen - cmd/testutil.go + + settings: + errcheck: + exclude-functions: + - (github.com/libp2p/go-libp2p/network.MuxedStream).SetDeadline + - (github.com/data-preservation-programs/singularity/service.DatasetWorker).cleanup + revive: + rules: + - name: var-naming + disabled: true formatters: enable: - - gci - - gofumpt - - goimports + - gofmt + - golines + From 108afab9bb96259197a334d4ecc1ef85437d53a8 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 12:42:41 +0200 Subject: [PATCH 09/29] try alternate migration strategy --- .golangci.yml | 78 +++++++++++---------------------------------------- 1 file changed, 17 insertions(+), 61 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index af05fae7..54e9c3ea 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,103 +1,45 @@ version: "2" run: tests: false - linters: default: all disable: - - asasalint - - asciicheck - - bidichk - - bodyclose - - canonicalheader - containedctx - - contextcheck - - copyloopvar - cyclop - depguard - - dogsled - dupl - dupword - - err113 - - errcheck - - errname - - errorlint - exhaustruct - - exptostd - forbidigo - - forcetypeassert - - funcorder - funlen - gochecknoglobals - gochecknoinits - gocognit - goconst - - gocritic - gocyclo - godot - godox - - goheader - gomoddirectives - - gomodguard - - goprintffuncname - - gosec - - grouper - - importas - - inamedparam - - ineffassign - - intrange - interfacebloat - ireturn - lll - - loggercheck - maintidx - - makezero - - misspell - mnd - musttag - nakedret - nestif - - nilerr - - nilnesserr - nilnil - nlreturn - - noctx - nolintlint - nonamedreturns - - nosprintfhostport - - paralleltest - - perfsprint - prealloc - - predeclared - - promlinter - - reassign - - recvcheck - - revive - rowserrcheck - sqlclosecheck - - staticcheck - tagalign - - tagliatelle - - tparallel - - unconvert - - unparam - - unused - varnamelen - wastedassign - - whitespace - wrapcheck - wsl - - exclusions: - paths: - - replication/internal - - cmd/embed - - docs - - dashboard/model2ts - - handler/datasource/generate - - handler/storage/gen - - cmd/testutil.go - settings: errcheck: exclude-functions: @@ -107,9 +49,23 @@ linters: rules: - name: var-naming disabled: true - + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + paths: + - third_party$ + - builtin$ + - examples$ formatters: enable: - gofmt - - golines - + exclusions: + generated: lax + paths: + - third_party$ + - builtin$ + - examples$ From b4accae3290926935382f6fac93aa0dbf86bca65 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 14:13:42 +0200 Subject: [PATCH 10/29] unused import, formatting --- migrate/migrate-dataset.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/migrate/migrate-dataset.go b/migrate/migrate-dataset.go index 64d341d1..db3c5c74 100644 --- a/migrate/migrate-dataset.go +++ b/migrate/migrate-dataset.go @@ -2,7 +2,6 @@ package migrate import ( "context" - "fmt" "log" "path/filepath" "strings" @@ -112,7 +111,7 @@ func migrateDataset(ctx context.Context, mg *mongo.Client, db *gorm.DB, scanning log.Printf("failed to parse data cid %s\n", generation.DataCID) dataCID = cid.Undef } - fileName := fmt.Sprintf("%s.car", generation.PieceCID) + fileName := generation.PieceCID + ".car" if generation.FilenameOverride != "" { fileName = generation.FilenameOverride } From a0ab4b17e2611aa25b2c71ee563be162bb7f6e8b Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 14:21:01 +0200 Subject: [PATCH 11/29] disable linters added since 1.55.2, suppress errcheck --- .golangci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.golangci.yml b/.golangci.yml index 54e9c3ea..d77e089e 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -40,9 +40,15 @@ linters: - wastedassign - wrapcheck - wsl + - contextcheck + - forcetypeassert + - funcorder + - exhaustive + - intrange settings: errcheck: exclude-functions: + - path/filepath.Walk - (github.com/libp2p/go-libp2p/network.MuxedStream).SetDeadline - (github.com/data-preservation-programs/singularity/service.DatasetWorker).cleanup revive: From f31e212da307d17252a7cc0e0e064fa6e0b1558d Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 14:22:28 +0200 Subject: [PATCH 12/29] lint autofixes --- cmd/run/downloadserver.go | 2 +- cmd/storage/update.go | 2 +- cmd/testutil.go | 8 ++++---- docs/gen/clireference/main.go | 4 ++-- docs/gen/translate/main.go | 2 +- docs/gen/webapireference/main.go | 4 ++-- handler/deal/schedule/resume.go | 2 +- handler/download.go | 6 +++--- handler/job/scan.go | 2 +- handler/tool/extractcar.go | 6 +++--- model/basetypes.go | 2 +- pack/assembler.go | 2 +- replication/makedeal.go | 2 +- retriever/endpointfinder/endpointfinder.go | 2 +- retriever/retriever.go | 2 +- service/contentprovider/http.go | 2 +- service/datasetworker/datasetworker.go | 2 +- storagesystem/rclone.go | 1 - storagesystem/types.go | 2 +- store/piece_store.go | 2 +- testdb/main.go | 6 +++--- util/testutil/testutils.go | 2 +- 22 files changed, 32 insertions(+), 33 deletions(-) diff --git a/cmd/run/downloadserver.go b/cmd/run/downloadserver.go index 9029fbd6..cf63c3c0 100644 --- a/cmd/run/downloadserver.go +++ b/cmd/run/downloadserver.go @@ -8,7 +8,7 @@ import ( "github.com/data-preservation-programs/singularity/service/downloadserver" "github.com/data-preservation-programs/singularity/storagesystem" "github.com/urfave/cli/v2" - "golang.org/x/exp/slices" + "slices" ) var DownloadServerCmd = &cli.Command{ diff --git a/cmd/storage/update.go b/cmd/storage/update.go index 9d5013d7..00ae71b2 100644 --- a/cmd/storage/update.go +++ b/cmd/storage/update.go @@ -14,8 +14,8 @@ import ( "github.com/gotidy/ptr" "github.com/rjNemo/underscore" "github.com/urfave/cli/v2" - "golang.org/x/exp/slices" "gorm.io/gorm" + "slices" ) var HTTPClientConfigFlagsForUpdate = []cli.Flag{ diff --git a/cmd/testutil.go b/cmd/testutil.go index 711af055..cd28b3da 100644 --- a/cmd/testutil.go +++ b/cmd/testutil.go @@ -25,7 +25,7 @@ import ( "github.com/rjNemo/underscore" "github.com/stretchr/testify/require" "github.com/urfave/cli/v2" - "golang.org/x/exp/slices" + "slices" ) type RunnerMode string @@ -199,7 +199,7 @@ func Download(ctx context.Context, url string, nThreads int) ([]byte, error) { ctx, cancel := context.WithCancel(ctx) defer cancel() // Make a HEAD request to get the size of the file - req, err := http.NewRequestWithContext(ctx, "HEAD", url, nil) + req, err := http.NewRequestWithContext(ctx, http.MethodHead, url, nil) if err != nil { return nil, errors.WithStack(err) } @@ -228,7 +228,7 @@ func Download(ctx context.Context, url string, nThreads int) ([]byte, error) { var wg sync.WaitGroup parts := make([][]byte, nThreads) errChan := make(chan error, nThreads) - for i := 0; i < nThreads; i++ { + for i := range nThreads { wg.Add(1) go func(i int) { defer wg.Done() @@ -239,7 +239,7 @@ func Download(ctx context.Context, url string, nThreads int) ([]byte, error) { end += extraSize // add the remainder to the last part } - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + req, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { errChan <- errors.WithStack(err) return diff --git a/docs/gen/clireference/main.go b/docs/gen/clireference/main.go index 680afcab..a82cc3b6 100644 --- a/docs/gen/clireference/main.go +++ b/docs/gen/clireference/main.go @@ -12,7 +12,7 @@ import ( "github.com/data-preservation-programs/singularity/cmd" "github.com/mattn/go-shellwords" "github.com/urfave/cli/v2" - "golang.org/x/exp/slices" + "slices" ) var overrides = map[string]string{ @@ -110,7 +110,7 @@ func saveMarkdown(command *cli.Command, outDir string, args []string) { } var margin string - for i := 0; i < len(args)-1; i++ { + for range len(args) - 1 { margin += " " } diff --git a/docs/gen/translate/main.go b/docs/gen/translate/main.go index 86a396f0..4afb994a 100644 --- a/docs/gen/translate/main.go +++ b/docs/gen/translate/main.go @@ -35,7 +35,7 @@ func main() { var wg sync.WaitGroup for _, language := range languages { wg.Add(1) - language := language + go func() { defer wg.Done() client := openai.NewClient(token) diff --git a/docs/gen/webapireference/main.go b/docs/gen/webapireference/main.go index cb895c10..0e359bd2 100644 --- a/docs/gen/webapireference/main.go +++ b/docs/gen/webapireference/main.go @@ -6,7 +6,7 @@ import ( "os" "strings" - "golang.org/x/exp/slices" + "slices" ) type SwaggerSpec struct { @@ -54,7 +54,7 @@ func main() { contentMap[tag] = &strings.Builder{} contentMap[tag].WriteString("# " + tag + "\n\n") } - contentMap[tag].WriteString(fmt.Sprintf("{%% swagger src=\"https://raw.githubusercontent.com/data-preservation-programs/singularity/main/docs/swagger/swagger.yaml\" path=\"%s\" method=\"%s\" %%}\n", pathName, method)) + fmt.Fprintf(contentMap[tag], "{%% swagger src=\"https://raw.githubusercontent.com/data-preservation-programs/singularity/main/docs/swagger/swagger.yaml\" path=\"%s\" method=\"%s\" %%}\n", pathName, method) contentMap[tag].WriteString("[https://raw.githubusercontent.com/data-preservation-programs/singularity/main/docs/swagger/swagger.yaml](https://raw.githubusercontent.com/data-preservation-programs/singularity/main/docs/swagger/swagger.yaml)\n") contentMap[tag].WriteString("{% endswagger %}\n\n") } diff --git a/handler/deal/schedule/resume.go b/handler/deal/schedule/resume.go index 839fbcc6..944986ab 100644 --- a/handler/deal/schedule/resume.go +++ b/handler/deal/schedule/resume.go @@ -7,8 +7,8 @@ import ( "github.com/data-preservation-programs/singularity/database" "github.com/data-preservation-programs/singularity/handler/handlererror" "github.com/data-preservation-programs/singularity/model" - "golang.org/x/exp/slices" "gorm.io/gorm" + "slices" ) var resumableStates = []model.ScheduleState{ diff --git a/handler/download.go b/handler/download.go index 7b688df1..358ad04b 100644 --- a/handler/download.go +++ b/handler/download.go @@ -83,7 +83,7 @@ func download(cctx *cli.Context, reader *store.PieceReader, outPath string, conc errChan := make(chan error, 1) - for i := 0; i < concurrency; i++ { + for i := range concurrency { wg.Add(1) go func(i int) { defer wg.Done() @@ -115,7 +115,7 @@ func download(cctx *cli.Context, reader *store.PieceReader, outPath string, conc reader := io.LimitReader(clonedReader, end-start) buffer := make([]byte, 4096) if !cctx.Bool("quiet") { - _, _ = cctx.App.Writer.Write([]byte(fmt.Sprintf("[Thread %d] Downloading part %d - %d\n", i, end, start))) + _, _ = fmt.Fprintf(cctx.App.Writer, "[Thread %d] Downloading part %d - %d\n", i, end, start) } for { if ctx.Err() != nil { @@ -144,7 +144,7 @@ func download(cctx *cli.Context, reader *store.PieceReader, outPath string, conc start += int64(n) } if !cctx.Bool("quiet") { - _, _ = cctx.App.Writer.Write([]byte(fmt.Sprintf("[Thread %d] Completed\n", i))) + _, _ = fmt.Fprintf(cctx.App.Writer, "[Thread %d] Completed\n", i) } }(i) } diff --git a/handler/job/scan.go b/handler/job/scan.go index 23de9294..18ba5e6e 100644 --- a/handler/job/scan.go +++ b/handler/job/scan.go @@ -7,8 +7,8 @@ import ( "github.com/data-preservation-programs/singularity/database" "github.com/data-preservation-programs/singularity/handler/handlererror" "github.com/data-preservation-programs/singularity/model" - "golang.org/x/exp/slices" "gorm.io/gorm" + "slices" ) var pausableStatesForScan = []model.JobState{model.Processing, model.Ready} diff --git a/handler/tool/extractcar.go b/handler/tool/extractcar.go index 44f85af6..1f0ba031 100644 --- a/handler/tool/extractcar.go +++ b/handler/tool/extractcar.go @@ -189,7 +189,7 @@ func writeToOutput(ctx *cli.Context, dagServ ipld.DAGService, outPath string, c return errors.Wrapf(err, "failed to get output path for CID %s", c) } } - _, _ = ctx.App.Writer.Write([]byte(fmt.Sprintf("Writing to %s\n", outPath))) + _, _ = fmt.Fprintf(ctx.App.Writer, "Writing to %s\n", outPath) return os.WriteFile(outPath, node.RawData(), 0o600) case cid.DagProtobuf: fsnode, err := unixfs.ExtractFSNode(node) @@ -213,7 +213,7 @@ func writeToOutput(ctx *cli.Context, dagServ ipld.DAGService, outPath string, c return errors.Wrapf(err, "failed to create output file %s", outPath) } defer f.Close() - _, _ = ctx.App.Writer.Write([]byte(fmt.Sprintf("Writing to %s\n", outPath))) + _, _ = fmt.Fprintf(ctx.App.Writer, "Writing to %s\n", outPath) _, err = reader.WriteTo(f) if err != nil { return errors.Wrapf(err, "failed to write to output file %s", outPath) @@ -223,7 +223,7 @@ func writeToOutput(ctx *cli.Context, dagServ ipld.DAGService, outPath string, c if err != nil { return errors.Wrapf(err, "failed to create directory from node for CID %s", c) } - _, _ = ctx.App.Writer.Write([]byte(fmt.Sprintf("Create Dir %s\n", outPath))) + _, _ = fmt.Fprintf(ctx.App.Writer, "Create Dir %s\n", outPath) err = os.MkdirAll(outPath, 0o755) if err != nil { return errors.Wrapf(err, "failed to create output directory %s", outPath) diff --git a/model/basetypes.go b/model/basetypes.go index fc5d30eb..22c773c4 100644 --- a/model/basetypes.go +++ b/model/basetypes.go @@ -10,7 +10,7 @@ import ( "github.com/cockroachdb/errors" "github.com/ipfs/go-cid" - "golang.org/x/exp/slices" + "slices" ) var ( diff --git a/pack/assembler.go b/pack/assembler.go index 359aced8..d0d854ff 100644 --- a/pack/assembler.go +++ b/pack/assembler.go @@ -216,7 +216,7 @@ func (a *Assembler) prefetch() error { // read more than 0 bytes, or the first block of an empty file // nolint:goerr113 - if err == nil || err == io.ErrUnexpectedEOF || err == io.EOF { + if err == nil || errors.Is(err, io.ErrUnexpectedEOF) || err == io.EOF { var cidValue cid.Cid var vint []byte if err == io.EOF { diff --git a/replication/makedeal.go b/replication/makedeal.go index 91ac9636..b806ead5 100644 --- a/replication/makedeal.go +++ b/replication/makedeal.go @@ -30,7 +30,7 @@ import ( "github.com/libp2p/go-libp2p/core/protocol" "github.com/multiformats/go-multiaddr" "github.com/ybbus/jsonrpc/v3" - "golang.org/x/exp/slices" + "slices" ) const ( diff --git a/retriever/endpointfinder/endpointfinder.go b/retriever/endpointfinder/endpointfinder.go index 09d2e399..3d591779 100644 --- a/retriever/endpointfinder/endpointfinder.go +++ b/retriever/endpointfinder/endpointfinder.go @@ -118,7 +118,7 @@ func (ef *EndpointFinder) FindHTTPEndpoints(ctx context.Context, sps []string) ( } } - for i := 0; i < toLookup; i++ { + for range toLookup { select { case providerAddrs := <-addrChan: if providerAddrs.addrs != nil { diff --git a/retriever/retriever.go b/retriever/retriever.go index e534ad5c..407e1ca2 100644 --- a/retriever/retriever.go +++ b/retriever/retriever.go @@ -101,7 +101,7 @@ func (r *Retriever) Retrieve(ctx context.Context, c cid.Cid, rangeStart int64, r // collect errors var err error - for i := 0; i < 2; i++ { + for range 2 { select { case <-ctx.Done(): return ctx.Err() diff --git a/service/contentprovider/http.go b/service/contentprovider/http.go index c3291cea..43c190b7 100644 --- a/service/contentprovider/http.go +++ b/service/contentprovider/http.go @@ -200,7 +200,7 @@ func GetMetadataHandler(c echo.Context, db *gorm.DB) error { metadata, err := getPieceMetadata(ctx, db, car) if err != nil { - return c.String(http.StatusInternalServerError, fmt.Sprintf("Error: %s", err.Error())) + return c.String(http.StatusInternalServerError, "Error: "+err.Error()) } // Remove all credentials diff --git a/service/datasetworker/datasetworker.go b/service/datasetworker/datasetworker.go index ff7dd6d5..06983aa9 100644 --- a/service/datasetworker/datasetworker.go +++ b/service/datasetworker/datasetworker.go @@ -177,7 +177,7 @@ func (w Worker) Run(ctx context.Context) error { }() threads := make([]service.Server, w.config.Concurrency) - for i := 0; i < w.config.Concurrency; i++ { + for i := range w.config.Concurrency { id := uuid.New() thread := &Thread{ id: id, diff --git a/storagesystem/rclone.go b/storagesystem/rclone.go index 46bb8c45..ab7fd15b 100644 --- a/storagesystem/rclone.go +++ b/storagesystem/rclone.go @@ -97,7 +97,6 @@ func (h RCloneHandler) scan(ctx context.Context, path string, ch chan<- Entry, w var subCount int for _, entry := range entries { - entry := entry switch v := entry.(type) { case fs.Directory: select { diff --git a/storagesystem/types.go b/storagesystem/types.go index 15166216..d523f02f 100644 --- a/storagesystem/types.go +++ b/storagesystem/types.go @@ -54,7 +54,7 @@ import ( "github.com/rclone/rclone/lib/encoder" "github.com/rjNemo/underscore" "github.com/urfave/cli/v2" - "golang.org/x/exp/slices" + "slices" ) // Entry is a struct that represents a single file or directory during a data source scan. diff --git a/store/piece_store.go b/store/piece_store.go index f26bc6ef..5ad724ed 100644 --- a/store/piece_store.go +++ b/store/piece_store.go @@ -178,7 +178,7 @@ func NewPieceReader( return nil, errors.Wrapf(ErrInvalidEndOffset, "expected %d, got %d", car.FileSize, lastBlock.CarOffset+int64(lastBlock.CarBlockLength)) } - for i := 0; i < len(carBlocks); i++ { + for i := range carBlocks { if i != len(carBlocks)-1 { if carBlocks[i].CarOffset+int64(carBlocks[i].CarBlockLength) != carBlocks[i+1].CarOffset { return nil, errors.Wrapf(ErrIncontiguousBlocks, "previous offset %d, next offset %d", carBlocks[i].CarOffset+int64(carBlocks[i].CarBlockLength), carBlocks[i+1].CarOffset) diff --git a/testdb/main.go b/testdb/main.go index 10220ee2..aeef3d8c 100644 --- a/testdb/main.go +++ b/testdb/main.go @@ -185,7 +185,7 @@ func createPreparation(ctx context.Context, db *gorm.DB) error { FileRanges: nil, } - for i := 0; i < 100; i++ { + for i := range 100 { largeFile.FileRanges = append(largeFile.FileRanges, model.FileRange{ Offset: int64(i << 34), Length: 1 << 34, @@ -203,7 +203,7 @@ func createPreparation(ctx context.Context, db *gorm.DB) error { } // Setup a file with multiple versions - for i := 0; i < 10; i++ { + for range 10 { size := r.Int63n(1 << 20) rCID := randomCID() err = db.Create(&model.File{ @@ -258,7 +258,7 @@ func createPreparation(ctx context.Context, db *gorm.DB) error { } // Some Car files without association with the preparation - for i := 0; i < 5; i++ { + for range 5 { pieceCID, err := randomPieceCID() if err != nil { return errors.WithStack(err) diff --git a/util/testutil/testutils.go b/util/testutil/testutils.go index 5cb16f0c..10881e82 100644 --- a/util/testutil/testutils.go +++ b/util/testutil/testutils.go @@ -25,7 +25,7 @@ const pattern = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" func GenerateFixedBytes(length int) []byte { patternLen := len(pattern) result := make([]byte, length) - for i := 0; i < length; i++ { + for i := range length { result[i] = pattern[i%patternLen] } return result From 7f88f1a93b90fb562323a18c6e734dae09a38bca Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 14:41:37 +0200 Subject: [PATCH 13/29] int32 for epoch is safe, auto-fixes --- replication/makedeal.go | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/replication/makedeal.go b/replication/makedeal.go index b806ead5..b074b2d7 100644 --- a/replication/makedeal.go +++ b/replication/makedeal.go @@ -8,6 +8,8 @@ import ( "strings" "time" + "slices" + "github.com/cockroachdb/errors" "github.com/data-preservation-programs/singularity/analytics" "github.com/data-preservation-programs/singularity/model" @@ -30,7 +32,6 @@ import ( "github.com/libp2p/go-libp2p/core/protocol" "github.com/multiformats/go-multiaddr" "github.com/ybbus/jsonrpc/v3" - "slices" ) const ( @@ -588,16 +589,18 @@ func (d DealMakerImpl) MakeDeal(ctx context.Context, walletObj model.Wallet, } dealModel := &model.Deal{ - State: model.DealProposed, - ClientID: walletObj.ID, - Provider: dealConfig.Provider, - Label: cid.Cid(car.RootCID).String(), - PieceCID: car.PieceCID, - PieceSize: car.PieceSize, + State: model.DealProposed, + ClientID: walletObj.ID, + Provider: dealConfig.Provider, + Label: cid.Cid(car.RootCID).String(), + PieceCID: car.PieceCID, + PieceSize: car.PieceSize, + //nolint:gosec // G115: Safe conversion, max int32 epoch won't occur until year 4062 StartEpoch: int32(startEpoch), - EndEpoch: int32(endEpoch), - Price: dealConfig.GetPrice(car.PieceSize, dealConfig.Duration).String(), - Verified: dealConfig.Verified, + //nolint:gosec // G115: Safe conversion, max int32 epoch won't occur until year 4062 + EndEpoch: int32(endEpoch), + Price: dealConfig.GetPrice(car.PieceSize, dealConfig.Duration).String(), + Verified: dealConfig.Verified, } if slices.Contains(protocols, StorageProposalV120) { dealID := uuid.New() From e0f460d6dac8c6e89c64dad61bf62544e389053c Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 14:45:29 +0200 Subject: [PATCH 14/29] update linter name for (go)err113 --- pack/assembler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pack/assembler.go b/pack/assembler.go index d0d854ff..079bcd81 100644 --- a/pack/assembler.go +++ b/pack/assembler.go @@ -215,7 +215,7 @@ func (a *Assembler) prefetch() error { } // read more than 0 bytes, or the first block of an empty file - // nolint:goerr113 + // nolint:err113 if err == nil || errors.Is(err, io.ErrUnexpectedEOF) || err == io.EOF { var cidValue cid.Cid var vint []byte From bae794f698d50e87fb028ca2fbdc5f81f9a29886 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 14:51:13 +0200 Subject: [PATCH 15/29] use core slices instead of exp/slices --- cmd/download.go | 3 ++- cmd/storage/create.go | 2 +- handler/deal/schedule/pause.go | 2 +- handler/deal/schedule/remove.go | 2 +- handler/job/pack.go | 3 ++- storagesystem/rclone.go | 3 ++- 6 files changed, 9 insertions(+), 6 deletions(-) diff --git a/cmd/download.go b/cmd/download.go index f45574e2..8eac0c11 100644 --- a/cmd/download.go +++ b/cmd/download.go @@ -1,6 +1,8 @@ package cmd import ( + "slices" + "github.com/cockroachdb/errors" "github.com/data-preservation-programs/singularity/cmd/cliutil" "github.com/data-preservation-programs/singularity/cmd/storage" @@ -9,7 +11,6 @@ import ( "github.com/data-preservation-programs/singularity/storagesystem" "github.com/ipfs/go-log" "github.com/urfave/cli/v2" - "golang.org/x/exp/slices" ) var DownloadCmd = &cli.Command{ diff --git a/cmd/storage/create.go b/cmd/storage/create.go index 60aa5c1a..de75df7b 100644 --- a/cmd/storage/create.go +++ b/cmd/storage/create.go @@ -3,6 +3,7 @@ package storage import ( "net/url" "path/filepath" + "slices" "strings" "github.com/cockroachdb/errors" @@ -17,7 +18,6 @@ import ( "github.com/rclone/rclone/fs" "github.com/rjNemo/underscore" "github.com/urfave/cli/v2" - "golang.org/x/exp/slices" ) var defaultClientConfig = fs.NewConfig() diff --git a/handler/deal/schedule/pause.go b/handler/deal/schedule/pause.go index 4d350fae..9c97a0cd 100644 --- a/handler/deal/schedule/pause.go +++ b/handler/deal/schedule/pause.go @@ -2,12 +2,12 @@ package schedule import ( "context" + "slices" "github.com/cockroachdb/errors" "github.com/data-preservation-programs/singularity/database" "github.com/data-preservation-programs/singularity/handler/handlererror" "github.com/data-preservation-programs/singularity/model" - "golang.org/x/exp/slices" "gorm.io/gorm" ) diff --git a/handler/deal/schedule/remove.go b/handler/deal/schedule/remove.go index fa0508ea..2d26ff08 100644 --- a/handler/deal/schedule/remove.go +++ b/handler/deal/schedule/remove.go @@ -2,12 +2,12 @@ package schedule import ( "context" + "slices" "github.com/cockroachdb/errors" "github.com/data-preservation-programs/singularity/database" "github.com/data-preservation-programs/singularity/handler/handlererror" "github.com/data-preservation-programs/singularity/model" - "golang.org/x/exp/slices" "gorm.io/gorm" ) diff --git a/handler/job/pack.go b/handler/job/pack.go index 3039defe..8e0761f6 100644 --- a/handler/job/pack.go +++ b/handler/job/pack.go @@ -3,6 +3,8 @@ package job import ( "context" + "slices" + "github.com/cockroachdb/errors" "github.com/data-preservation-programs/singularity/database" "github.com/data-preservation-programs/singularity/handler/handlererror" @@ -10,7 +12,6 @@ import ( "github.com/data-preservation-programs/singularity/pack" "github.com/data-preservation-programs/singularity/scan" "github.com/data-preservation-programs/singularity/util" - "golang.org/x/exp/slices" "gorm.io/gorm" ) diff --git a/storagesystem/rclone.go b/storagesystem/rclone.go index ab7fd15b..195caccc 100644 --- a/storagesystem/rclone.go +++ b/storagesystem/rclone.go @@ -8,6 +8,8 @@ import ( "sync" "time" + "slices" + "github.com/cockroachdb/errors" "github.com/data-preservation-programs/singularity/model" "github.com/gammazero/workerpool" @@ -15,7 +17,6 @@ import ( "github.com/rclone/rclone/fs" "github.com/rclone/rclone/fs/config/configmap" "github.com/rclone/rclone/fs/object" - "golang.org/x/exp/slices" ) var logger = log.Logger("storage") From ce2d30e5db6ed5749cabe6d7bbb72c30f2bfda08 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 14:55:46 +0200 Subject: [PATCH 16/29] disable lint for remaining epoch and cid/block length sites --- model/preparation.go | 2 ++ testdb/main.go | 3 +++ 2 files changed, 5 insertions(+) diff --git a/model/preparation.go b/model/preparation.go index 4efd7237..3414d998 100644 --- a/model/preparation.go +++ b/model/preparation.go @@ -310,8 +310,10 @@ func (c CarBlock) BlockLength() int32 { } if c.RawBlock != nil { + //nolint:gosec // G115: Safe conversion, length of blocks will not exceed int32 max value c.blockLength = int32(len(c.RawBlock)) } else { + //nolint:gosec // G115: Safe conversion, CID byte length and varint length will not exceed int32 max value c.blockLength = c.CarBlockLength - int32(cid.Cid(c.CID).ByteLen()) - int32(len(c.Varint)) } diff --git a/testdb/main.go b/testdb/main.go index aeef3d8c..26e92636 100644 --- a/testdb/main.go +++ b/testdb/main.go @@ -335,7 +335,9 @@ func createPreparation(ctx context.Context, db *gorm.DB) error { PieceCID: car.PieceCID, PieceSize: car.PieceSize, DealID: nil, + //nolint:gosec // G115: Safe conversion, max int32 epoch won't occur until year 4062 StartEpoch: int32(10000 + r.Intn(10000)), + //nolint:gosec // G115: Safe conversion, max int32 epoch won't occur until year 4062 EndEpoch: int32(20000 + r.Intn(10000)), Price: "0", Verified: true, @@ -343,6 +345,7 @@ func createPreparation(ctx context.Context, db *gorm.DB) error { ClientID: wallet.ID, } if state == model.DealActive { + //nolint:gosec // G115: Safe conversion, max int32 epoch won't occur until year 4062 deal.SectorStartEpoch = int32(10000 + r.Intn(10000)) } if state == model.DealProposed || state == model.DealPublished { From f465731b2bf65dbeb0c0cf374e5c578cd2b89191 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 14:57:51 +0200 Subject: [PATCH 17/29] thelper fix, autofix --- cmd/testutil.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmd/testutil.go b/cmd/testutil.go index cd28b3da..c7343858 100644 --- a/cmd/testutil.go +++ b/cmd/testutil.go @@ -16,6 +16,8 @@ import ( "testing" "time" + "slices" + "github.com/cockroachdb/errors" "github.com/data-preservation-programs/singularity/pack" "github.com/fatih/color" @@ -25,7 +27,6 @@ import ( "github.com/rjNemo/underscore" "github.com/stretchr/testify/require" "github.com/urfave/cli/v2" - "slices" ) type RunnerMode string @@ -292,7 +293,9 @@ func Download(ctx context.Context, url string, nThreads int) ([]byte, error) { return result.Bytes(), nil } + func CompareDirectories(t *testing.T, dir1, dir2 string) { + t.Helper() filesInDir2 := make(map[string]struct{}) err := filepath.Walk(dir1, func(path1 string, info1 os.FileInfo, err error) error { From 515c52c0b80bedd53db39e5812d1f848c5a2d2b6 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 15:00:25 +0200 Subject: [PATCH 18/29] suppress predeclared since that's what the param is called --- replication/wallet.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/replication/wallet.go b/replication/wallet.go index bf8595e3..74e457c6 100644 --- a/replication/wallet.go +++ b/replication/wallet.go @@ -69,7 +69,7 @@ type DatacapWalletChooser struct { } func NewDatacapWalletChooser(db *gorm.DB, cacheTTL time.Duration, - lotusAPI string, lotusToken string, min uint64, + lotusAPI string, lotusToken string, min uint64, //nolint:predeclared // We're ok with using the same name as the predeclared identifier here ) DatacapWalletChooser { cache := ttlcache.New[string, int64]( ttlcache.WithTTL[string, int64](cacheTTL), From c522d7c8fc618e53683390a104a61e43fdd1a968 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 15:21:18 +0200 Subject: [PATCH 19/29] suppress recvcheck for Value() methods --- model/basetypes.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/model/basetypes.go b/model/basetypes.go index 22c773c4..0197cd2a 100644 --- a/model/basetypes.go +++ b/model/basetypes.go @@ -8,9 +8,10 @@ import ( "strings" "time" + "slices" + "github.com/cockroachdb/errors" "github.com/ipfs/go-cid" - "slices" ) var ( @@ -134,11 +135,11 @@ func (c *CID) Scan(src any) error { return nil } -func (ss StringSlice) Value() (driver.Value, error) { +func (ss StringSlice) Value() (driver.Value, error) { //nolint:recvcheck return json.Marshal(ss) } -func (m ConfigMap) Value() (driver.Value, error) { +func (m ConfigMap) Value() (driver.Value, error) { //nolint:recvcheck return json.Marshal(m) } @@ -193,7 +194,7 @@ func (m ConfigMap) String() string { return strings.Join(values, " ") } -func (c ClientConfig) Value() (driver.Value, error) { +func (c ClientConfig) Value() (driver.Value, error) { //nolint:recvcheck return json.Marshal(c) } From 9f35caaf8e16b326da4b122fd8a514505917eb91 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 15:36:19 +0200 Subject: [PATCH 20/29] better suppression for revcheck for Value --- .golangci.yml | 5 +++++ model/basetypes.go | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index d77e089e..1b64d777 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -55,6 +55,11 @@ linters: rules: - name: var-naming disabled: true + recvcheck: + disable-builtin: true + exclusions: + - "*.Value" + - "*.String" exclusions: generated: lax presets: diff --git a/model/basetypes.go b/model/basetypes.go index 0197cd2a..2341d85f 100644 --- a/model/basetypes.go +++ b/model/basetypes.go @@ -135,11 +135,11 @@ func (c *CID) Scan(src any) error { return nil } -func (ss StringSlice) Value() (driver.Value, error) { //nolint:recvcheck +func (ss StringSlice) Value() (driver.Value, error) { return json.Marshal(ss) } -func (m ConfigMap) Value() (driver.Value, error) { //nolint:recvcheck +func (m ConfigMap) Value() (driver.Value, error) { return json.Marshal(m) } From 5d73bbe0f2baf403c6fb0e7374aa72019c5f0f15 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 15:39:33 +0200 Subject: [PATCH 21/29] exclude marshalling functions from recvcheck --- .golangci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.golangci.yml b/.golangci.yml index 1b64d777..9f97197b 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -60,6 +60,8 @@ linters: exclusions: - "*.Value" - "*.String" + - "*.MarshalBinary" + - "*.MarshalJSON" exclusions: generated: lax presets: From 1c4a325607ef32aa695419b4f46f88e9b7d43534 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 15:42:35 +0200 Subject: [PATCH 22/29] always pass server by pointer, clear last recvcheck --- api/api.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/api/api.go b/api/api.go index 5fabb4a1..41c63e33 100644 --- a/api/api.go +++ b/api/api.go @@ -60,7 +60,7 @@ type Server struct { scheduleHandler schedule.Handler } -func (s Server) Name() string { +func (s *Server) Name() string { return "api" } @@ -74,7 +74,7 @@ func (s Server) Name() string { // @Failure 404 {string} string "Not Found" // @Failure 500 {string} string "Internal Server Error" // @Router /piece/{id}/metadata [get] -func (s Server) getMetadataHandler(c echo.Context) error { +func (s *Server) getMetadataHandler(c echo.Context) error { return contentprovider.GetMetadataHandler(c, s.db) } @@ -111,18 +111,18 @@ type APIParams struct { ConnString string } -func InitServer(ctx context.Context, params APIParams) (Server, error) { +func InitServer(ctx context.Context, params APIParams) (*Server, error) { db, closer, err := database.OpenWithLogger(params.ConnString) if err != nil { - return Server{}, errors.WithStack(err) + return nil, errors.WithStack(err) } h, err := util.InitHost(nil) if err != nil { - return Server{}, errors.Wrap(err, "failed to init host") + return nil, errors.Wrap(err, "failed to init host") } lassie, err := lassie.NewLassie(ctx, lassie.WithHost(h)) if err != nil { - return Server{}, errors.Wrap(err, "failed to init lassie") + return nil, errors.Wrap(err, "failed to init lassie") } infoFetcher := replication.MinerInfoFetcher{ Client: util.NewLotusClient(params.LotusAPI, params.LotusToken), @@ -135,7 +135,7 @@ func InitServer(ctx context.Context, params APIParams) (Server, error) { endpointfinder.WithErrorLruSize(128), endpointfinder.WithErrorLruTimeout(time.Minute*5), ) - return Server{ + return &Server{ db: db, host: h, listener: params.Listener, @@ -183,7 +183,7 @@ func InitServer(ctx context.Context, params APIParams) (Server, error) { // This method assumes a specific ordering and kind of parameters in the handler functions. // It is designed to simplify the process of defining Echo handlers but has limitations // in terms of the variety of supported handler function signatures. -func (s Server) toEchoHandler(handlerFunc any) echo.HandlerFunc { +func (s *Server) toEchoHandler(handlerFunc any) echo.HandlerFunc { return func(c echo.Context) error { handlerFuncValue := reflect.ValueOf(handlerFunc) handlerFuncType := handlerFuncValue.Type() @@ -294,7 +294,7 @@ func (s Server) toEchoHandler(handlerFunc any) echo.HandlerFunc { } } -func (s Server) setupRoutes(e *echo.Echo) { +func (s *Server) setupRoutes(e *echo.Echo) { // Admin e.POST("/api/identity", s.toEchoHandler(s.adminHandler.SetIdentityHandler)) // Storage @@ -401,7 +401,7 @@ var logger = logging.Logger("api") // 3. Completion of analytics event flushing. // - A channel (service.Fail) that reports errors that occur while the server is running. // - An error if there is an issue during the initialization phase, otherwise nil. -func (s Server) Start(ctx context.Context, exitErr chan<- error) error { +func (s *Server) Start(ctx context.Context, exitErr chan<- error) error { err := analytics.Init(ctx, s.db) if err != nil { return errors.WithStack(err) From 25ca84b0d98dab42b0968918062a8464e0178604 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 15:44:53 +0200 Subject: [PATCH 23/29] add nil check --- migrate/migrate-schedule.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/migrate/migrate-schedule.go b/migrate/migrate-schedule.go index e8a1a1ec..07f4f3bb 100644 --- a/migrate/migrate-schedule.go +++ b/migrate/migrate-schedule.go @@ -70,7 +70,10 @@ func MigrateSchedule(c *cli.Context) error { } findResult := mg.Database("singularity").Collection("scanningrequests").FindOne(ctx, bson.M{"_id": oid}) if findResult.Err() != nil { - return errors.Wrapf(err, "failed to find dataset %s", replication.DatasetID) + if err != nil { + return errors.Wrapf(err, "failed to find dataset %s", replication.DatasetID) + } + return errors.Errorf("failed to find dataset %s", replication.DatasetID) } err = findResult.Decode(&scanning) From 7ed4aa2580124a9351f4b2b6a6d0a8fe66605015 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 15:50:34 +0200 Subject: [PATCH 24/29] suppress file perms errors for docs --- docs/gen/clireference/main.go | 9 +++++---- docs/gen/translate/main.go | 2 +- docs/gen/webapireference/main.go | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/gen/clireference/main.go b/docs/gen/clireference/main.go index a82cc3b6..90979379 100644 --- a/docs/gen/clireference/main.go +++ b/docs/gen/clireference/main.go @@ -8,11 +8,12 @@ import ( "path" "strings" + "slices" + "github.com/cockroachdb/errors" "github.com/data-preservation-programs/singularity/cmd" "github.com/mattn/go-shellwords" "github.com/urfave/cli/v2" - "slices" ) var overrides = map[string]string{ @@ -36,7 +37,7 @@ func main() { if err != nil { panic(err) } - err = os.WriteFile("docs/en/cli-reference/README.md", []byte(sb.String()), 0644) + err = os.WriteFile("docs/en/cli-reference/README.md", []byte(sb.String()), 0644) //nolint:gosec if err != nil { panic(err) } @@ -65,7 +66,7 @@ func main() { } lines = append(lines[:beginIndex+1], append([]string{"", summary.String()}, lines[endIndex:]...)...) - err = os.WriteFile("docs/en/SUMMARY.md", []byte(strings.Join(lines, "\n")), 0644) + err = os.WriteFile("docs/en/SUMMARY.md", []byte(strings.Join(lines, "\n")), 0644) //nolint:gosec if err != nil { panic(err) } @@ -104,7 +105,7 @@ func saveMarkdown(command *cli.Command, outDir string, args []string) { sb.WriteString(stdout) sb.WriteString("```\n") sb.WriteString("{% endcode %}\n") - err = os.WriteFile(outFile, []byte(sb.String()), 0644) + err = os.WriteFile(outFile, []byte(sb.String()), 0644) //nolint:gosec if err != nil { panic(err) } diff --git a/docs/gen/translate/main.go b/docs/gen/translate/main.go index 4afb994a..2e3cbbae 100644 --- a/docs/gen/translate/main.go +++ b/docs/gen/translate/main.go @@ -120,7 +120,7 @@ func main() { if err != nil { panic(err) } - err = os.WriteFile(outPath, []byte(strings.Join(results, "\n")), 0644) + err = os.WriteFile(outPath, []byte(strings.Join(results, "\n")), 0644) //nolint:gosec if err != nil { panic(err) } diff --git a/docs/gen/webapireference/main.go b/docs/gen/webapireference/main.go index 0e359bd2..16455bf4 100644 --- a/docs/gen/webapireference/main.go +++ b/docs/gen/webapireference/main.go @@ -72,7 +72,7 @@ func main() { slices.Sort(contentMapSorted) for _, tag := range contentMapSorted { builder := contentMap[tag] - err := os.WriteFile("./docs/en/web-api-reference/"+convertStringToHyphenated(tag)+".md", []byte(builder.String()), 0644) + err := os.WriteFile("./docs/en/web-api-reference/"+convertStringToHyphenated(tag)+".md", []byte(builder.String()), 0644) //nolint:gosec if err != nil { panic(err) } @@ -95,7 +95,7 @@ func main() { slices.Sort(summaries) summaries = append(summaries, "* [Specification](https://raw.githubusercontent.com/data-preservation-programs/singularity/main/docs/swagger/swagger.yaml)", "") lines = append(lines[:beginIndex+1], append([]string{"", strings.Join(summaries, "\n")}, lines[endIndex:]...)...) - err = os.WriteFile("docs/en/SUMMARY.md", []byte(strings.Join(lines, "\n")), 0644) + err = os.WriteFile("docs/en/SUMMARY.md", []byte(strings.Join(lines, "\n")), 0644) //nolint:gosec if err != nil { panic(err) } From 398367ddb781b3187a840c6106fdd436b072641a Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 16:01:55 +0200 Subject: [PATCH 25/29] warn on and handle unknown/-1 file size in assembler --- pack/assembler.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pack/assembler.go b/pack/assembler.go index 079bcd81..e796ff45 100644 --- a/pack/assembler.go +++ b/pack/assembler.go @@ -246,9 +246,17 @@ func (a *Assembler) prefetch() error { if !a.noInline { a.carBlocks = append(a.carBlocks, carBlocks...) } + + // Check for negative file size + size := n + if size < 0 { + logger.Warnf("Encountered unknown size file (%s)", a.fileRanges[a.index].File.Path) + size = 0 + } + a.pendingLinks = append(a.pendingLinks, format.Link{ Cid: cidValue, - Size: uint64(n), + Size: uint64(size), //nolint:gosec }) if err == nil { From ea473359f6e9103205e343993993a654a7c54a6f Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 16:18:08 +0200 Subject: [PATCH 26/29] suppress remaining overflow warnings :( --- .golangci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.golangci.yml b/.golangci.yml index 9f97197b..56fa45fb 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -46,6 +46,9 @@ linters: - exhaustive - intrange settings: + gosec: + excludes: + - G115 # we do a lot of uint64 conversions unfortunately errcheck: exclude-functions: - path/filepath.Walk From 5472869b4f43a3d8bb73a1afc20b9f6892f35f84 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 14:23:16 +0000 Subject: [PATCH 27/29] tidy --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 40675a4d..612b2d2d 100644 --- a/go.mod +++ b/go.mod @@ -75,7 +75,6 @@ require ( go.mongodb.org/mongo-driver v1.12.1 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 - golang.org/x/exp v0.0.0-20250128182459-e0ece0dbea4c golang.org/x/text v0.22.0 gorm.io/driver/mysql v1.5.0 gorm.io/driver/postgres v1.5.0 @@ -350,6 +349,7 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/mock v0.5.0 // indirect golang.org/x/crypto v0.32.0 // indirect + golang.org/x/exp v0.0.0-20250128182459-e0ece0dbea4c // indirect golang.org/x/mod v0.23.0 // indirect golang.org/x/net v0.34.0 // indirect golang.org/x/oauth2 v0.24.0 // indirect From 66575a809d808afa310c905611635e32b1f7a620 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 16:47:50 +0200 Subject: [PATCH 28/29] infer go version from go.mod for sake of sanity --- .github/actions/go-check-setup/action.yml | 2 +- .github/workflows/auto-generate.yml | 4 ++-- .github/workflows/release-binaries.yml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/go-check-setup/action.yml b/.github/actions/go-check-setup/action.yml index 1d192465..3ee224ab 100644 --- a/.github/actions/go-check-setup/action.yml +++ b/.github/actions/go-check-setup/action.yml @@ -16,7 +16,7 @@ runs: - name: Setup Go uses: actions/setup-go@v5 with: - go-version: ${{ inputs.go-version || 'stable' }} + go-version-file: 'go.mod' - name: Lint uses: golangci/golangci-lint-action@v7 diff --git a/.github/workflows/auto-generate.yml b/.github/workflows/auto-generate.yml index ec94250f..3b05a27a 100644 --- a/.github/workflows/auto-generate.yml +++ b/.github/workflows/auto-generate.yml @@ -13,9 +13,9 @@ jobs: ref: ${{ github.head_ref }} - name: Setup Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: - go-version: '1.20.x' + go-version-file: 'go.mod' - name: Run go generate run: | diff --git a/.github/workflows/release-binaries.yml b/.github/workflows/release-binaries.yml index 044a5005..13fbdc35 100644 --- a/.github/workflows/release-binaries.yml +++ b/.github/workflows/release-binaries.yml @@ -16,9 +16,9 @@ jobs: with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: - go-version: "1.20.x" + go-version-file: 'go.mod' - name: Release Binaries uses: goreleaser/goreleaser-action@v4 with: From cc18ff452b3b7b06951ef9dce9175b3a02f53e6c Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 1 May 2025 14:55:58 +0000 Subject: [PATCH 29/29] generate --- handler/storage/types_gen.go | 3046 +++++++++++++++++----------------- 1 file changed, 1523 insertions(+), 1523 deletions(-) diff --git a/handler/storage/types_gen.go b/handler/storage/types_gen.go index e8dc9b60..91408d6d 100644 --- a/handler/storage/types_gen.go +++ b/handler/storage/types_gen.go @@ -6,19 +6,19 @@ package storage import "github.com/data-preservation-programs/singularity/model" type acdConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - Checkpoint string `json:"checkpoint"` // Checkpoint for internal polling (debug). - UploadWaitPerGb string `default:"3m0s" json:"uploadWaitPerGb"` // Additional time per GiB to wait after a failed complete upload to see if it appears. - TemplinkThreshold string `default:"9Gi" json:"templinkThreshold"` // Files >= this size will be downloaded via their tempLink. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + Checkpoint string `json:"checkpoint"` // Checkpoint for internal polling (debug). + UploadWaitPerGb string `json:"uploadWaitPerGb" default:"3m0s"` // Additional time per GiB to wait after a failed complete upload to see if it appears. + TemplinkThreshold string `json:"templinkThreshold" default:"9Gi"` // Files >= this size will be downloaded via their tempLink. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. } type createAcdStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config acdConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -37,42 +37,42 @@ type createAcdStorageRequest struct { func createAcdStorage() {} type azureblobConfig struct { - Account string `json:"account"` // Azure Storage Account Name. - EnvAuth bool `default:"false" json:"envAuth"` // Read credentials from runtime (environment variables, CLI or MSI). - Key string `json:"key"` // Storage Account Shared Key. - SasUrl string `json:"sasUrl"` // SAS URL for container level access only. - Tenant string `json:"tenant"` // ID of the service principal's tenant. Also called its directory ID. - ClientId string `json:"clientId"` // The ID of the client in use. - ClientSecret string `json:"clientSecret"` // One of the service principal's client secrets - ClientCertificatePath string `json:"clientCertificatePath"` // Path to a PEM or PKCS12 certificate file including the private key. - ClientCertificatePassword string `json:"clientCertificatePassword"` // Password for the certificate file (optional). - ClientSendCertificateChain bool `default:"false" json:"clientSendCertificateChain"` // Send the certificate chain when using certificate auth. - Username string `json:"username"` // User name (usually an email address) - Password string `json:"password"` // The user's password - ServicePrincipalFile string `json:"servicePrincipalFile"` // Path to file containing credentials for use with a service principal. - UseMsi bool `default:"false" json:"useMsi"` // Use a managed service identity to authenticate (only works in Azure). - MsiObjectId string `json:"msiObjectId"` // Object ID of the user-assigned MSI to use, if any. - MsiClientId string `json:"msiClientId"` // Object ID of the user-assigned MSI to use, if any. - MsiMiResId string `json:"msiMiResId"` // Azure resource ID of the user-assigned MSI to use, if any. - UseEmulator bool `default:"false" json:"useEmulator"` // Uses local storage emulator if provided as 'true'. - Endpoint string `json:"endpoint"` // Endpoint for the service. - UploadCutoff string `json:"uploadCutoff"` // Cutoff for switching to chunked upload (<= 256 MiB) (deprecated). - ChunkSize string `default:"4Mi" json:"chunkSize"` // Upload chunk size. - UploadConcurrency int `default:"16" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ListChunk int `default:"5000" json:"listChunk"` // Size of blob list. - AccessTier string `json:"accessTier"` // Access tier of blob: hot, cool or archive. - ArchiveTierDelete bool `default:"false" json:"archiveTierDelete"` // Delete archive tier blobs before overwriting. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - Encoding string `default:"Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8" json:"encoding"` // The encoding for the backend. - PublicAccess string `example:"" json:"publicAccess"` // Public access level of a container: blob or container. - NoCheckContainer bool `default:"false" json:"noCheckContainer"` // If set, don't attempt to check the container exists or create it. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. + Account string `json:"account"` // Azure Storage Account Name. + EnvAuth bool `json:"envAuth" default:"false"` // Read credentials from runtime (environment variables, CLI or MSI). + Key string `json:"key"` // Storage Account Shared Key. + SasUrl string `json:"sasUrl"` // SAS URL for container level access only. + Tenant string `json:"tenant"` // ID of the service principal's tenant. Also called its directory ID. + ClientId string `json:"clientId"` // The ID of the client in use. + ClientSecret string `json:"clientSecret"` // One of the service principal's client secrets + ClientCertificatePath string `json:"clientCertificatePath"` // Path to a PEM or PKCS12 certificate file including the private key. + ClientCertificatePassword string `json:"clientCertificatePassword"` // Password for the certificate file (optional). + ClientSendCertificateChain bool `json:"clientSendCertificateChain" default:"false"` // Send the certificate chain when using certificate auth. + Username string `json:"username"` // User name (usually an email address) + Password string `json:"password"` // The user's password + ServicePrincipalFile string `json:"servicePrincipalFile"` // Path to file containing credentials for use with a service principal. + UseMsi bool `json:"useMsi" default:"false"` // Use a managed service identity to authenticate (only works in Azure). + MsiObjectId string `json:"msiObjectId"` // Object ID of the user-assigned MSI to use, if any. + MsiClientId string `json:"msiClientId"` // Object ID of the user-assigned MSI to use, if any. + MsiMiResId string `json:"msiMiResId"` // Azure resource ID of the user-assigned MSI to use, if any. + UseEmulator bool `json:"useEmulator" default:"false"` // Uses local storage emulator if provided as 'true'. + Endpoint string `json:"endpoint"` // Endpoint for the service. + UploadCutoff string `json:"uploadCutoff"` // Cutoff for switching to chunked upload (<= 256 MiB) (deprecated). + ChunkSize string `json:"chunkSize" default:"4Mi"` // Upload chunk size. + UploadConcurrency int `json:"uploadConcurrency" default:"16"` // Concurrency for multipart uploads. + ListChunk int `json:"listChunk" default:"5000"` // Size of blob list. + AccessTier string `json:"accessTier"` // Access tier of blob: hot, cool or archive. + ArchiveTierDelete bool `json:"archiveTierDelete" default:"false"` // Delete archive tier blobs before overwriting. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8"` // The encoding for the backend. + PublicAccess string `json:"publicAccess" example:""` // Public access level of a container: blob or container. + NoCheckContainer bool `json:"noCheckContainer" default:"false"` // If set, don't attempt to check the container exists or create it. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. } type createAzureblobStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config azureblobConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -91,26 +91,26 @@ type createAzureblobStorageRequest struct { func createAzureblobStorage() {} type b2Config struct { - Account string `json:"account"` // Account ID or Application Key ID. - Key string `json:"key"` // Application Key. - Endpoint string `json:"endpoint"` // Endpoint for the service. - TestMode string `json:"testMode"` // A flag string for X-Bz-Test-Mode header for debugging. - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - HardDelete bool `default:"false" json:"hardDelete"` // Permanently delete files on remote removal, otherwise hide files. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - CopyCutoff string `default:"4Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - ChunkSize string `default:"96Mi" json:"chunkSize"` // Upload chunk size. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Disable checksums for large (> upload cutoff) files. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - DownloadAuthDuration string `default:"1w" json:"downloadAuthDuration"` // Time before the authorization token will expire in s or suffix ms|s|m|h|d. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - Encoding string `default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + Account string `json:"account"` // Account ID or Application Key ID. + Key string `json:"key"` // Application Key. + Endpoint string `json:"endpoint"` // Endpoint for the service. + TestMode string `json:"testMode"` // A flag string for X-Bz-Test-Mode header for debugging. + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + HardDelete bool `json:"hardDelete" default:"false"` // Permanently delete files on remote removal, otherwise hide files. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + CopyCutoff string `json:"copyCutoff" default:"4Gi"` // Cutoff for switching to multipart copy. + ChunkSize string `json:"chunkSize" default:"96Mi"` // Upload chunk size. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Disable checksums for large (> upload cutoff) files. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + DownloadAuthDuration string `json:"downloadAuthDuration" default:"1w"` // Time before the authorization token will expire in s or suffix ms|s|m|h|d. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. } type createB2StorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config b2Config `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -129,24 +129,24 @@ type createB2StorageRequest struct { func createB2Storage() {} type boxConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - RootFolderId string `default:"0" json:"rootFolderId"` // Fill in for rclone to use a non root folder as its starting point. - BoxConfigFile string `json:"boxConfigFile"` // Box App config.json location - AccessToken string `json:"accessToken"` // Box App Primary Access Token - BoxSubType string `default:"user" example:"user" json:"boxSubType"` // - UploadCutoff string `default:"50Mi" json:"uploadCutoff"` // Cutoff for switching to multipart upload (>= 50 MiB). - CommitRetries int `default:"100" json:"commitRetries"` // Max number of times to try committing a multipart file. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk 1-1000. - OwnedBy string `json:"ownedBy"` // Only show items owned by the login (email address) passed in. - Encoding string `default:"Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + RootFolderId string `json:"rootFolderId" default:"0"` // Fill in for rclone to use a non root folder as its starting point. + BoxConfigFile string `json:"boxConfigFile"` // Box App config.json location + AccessToken string `json:"accessToken"` // Box App Primary Access Token + BoxSubType string `json:"boxSubType" default:"user" example:"user"` // + UploadCutoff string `json:"uploadCutoff" default:"50Mi"` // Cutoff for switching to multipart upload (>= 50 MiB). + CommitRetries int `json:"commitRetries" default:"100"` // Max number of times to try committing a multipart file. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk 1-1000. + OwnedBy string `json:"ownedBy"` // Only show items owned by the login (email address) passed in. + Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot"` // The encoding for the backend. } type createBoxStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config boxConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -165,53 +165,53 @@ type createBoxStorageRequest struct { func createBoxStorage() {} type driveConfig struct { - ClientId string `json:"clientId"` // Google Application Client Id - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - Scope string `example:"drive" json:"scope"` // Scope that rclone should use when requesting access from drive. - RootFolderId string `json:"rootFolderId"` // ID of the root folder. - ServiceAccountFile string `json:"serviceAccountFile"` // Service Account Credentials JSON file path. - ServiceAccountCredentials string `json:"serviceAccountCredentials"` // Service Account Credentials JSON blob. - TeamDrive string `json:"teamDrive"` // ID of the Shared Drive (Team Drive). - AuthOwnerOnly bool `default:"false" json:"authOwnerOnly"` // Only consider files owned by the authenticated user. - UseTrash bool `default:"true" json:"useTrash"` // Send files to the trash instead of deleting permanently. - CopyShortcutContent bool `default:"false" json:"copyShortcutContent"` // Server side copy contents of shortcuts instead of the shortcut. - SkipGdocs bool `default:"false" json:"skipGdocs"` // Skip google documents in all listings. - SkipChecksumGphotos bool `default:"false" json:"skipChecksumGphotos"` // Skip MD5 checksum on Google photos and videos only. - SharedWithMe bool `default:"false" json:"sharedWithMe"` // Only show files that are shared with me. - TrashedOnly bool `default:"false" json:"trashedOnly"` // Only show files that are in the trash. - StarredOnly bool `default:"false" json:"starredOnly"` // Only show files that are starred. - Formats string `json:"formats"` // Deprecated: See export_formats. - ExportFormats string `default:"docx,xlsx,pptx,svg" json:"exportFormats"` // Comma separated list of preferred formats for downloading Google docs. - ImportFormats string `json:"importFormats"` // Comma separated list of preferred formats for uploading Google docs. - AllowImportNameChange bool `default:"false" json:"allowImportNameChange"` // Allow the filetype to change when uploading Google docs. - UseCreatedDate bool `default:"false" json:"useCreatedDate"` // Use file created date instead of modified date. - UseSharedDate bool `default:"false" json:"useSharedDate"` // Use date file was shared instead of modified date. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk 100-1000, 0 to disable. - Impersonate string `json:"impersonate"` // Impersonate this user when using a service account. - AlternateExport bool `default:"false" json:"alternateExport"` // Deprecated: No longer needed. - UploadCutoff string `default:"8Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"8Mi" json:"chunkSize"` // Upload chunk size. - AcknowledgeAbuse bool `default:"false" json:"acknowledgeAbuse"` // Set to allow files which return cannotDownloadAbusiveFile to be downloaded. - KeepRevisionForever bool `default:"false" json:"keepRevisionForever"` // Keep new head revision of each file forever. - SizeAsQuota bool `default:"false" json:"sizeAsQuota"` // Show sizes as storage quota usage, not actual size. - V2DownloadMinSize string `default:"off" json:"v2DownloadMinSize"` // If Object's are greater, use drive v2 API to download. - PacerMinSleep string `default:"100ms" json:"pacerMinSleep"` // Minimum time to sleep between API calls. - PacerBurst int `default:"100" json:"pacerBurst"` // Number of API calls to allow without sleeping. - ServerSideAcrossConfigs bool `default:"false" json:"serverSideAcrossConfigs"` // Allow server-side operations (e.g. copy) to work across different drive configs. - DisableHttp2 bool `default:"true" json:"disableHttp2"` // Disable drive using http2. - StopOnUploadLimit bool `default:"false" json:"stopOnUploadLimit"` // Make upload limit errors be fatal. - StopOnDownloadLimit bool `default:"false" json:"stopOnDownloadLimit"` // Make download limit errors be fatal. - SkipShortcuts bool `default:"false" json:"skipShortcuts"` // If set skip shortcut files. - SkipDanglingShortcuts bool `default:"false" json:"skipDanglingShortcuts"` // If set skip dangling shortcut files. - ResourceKey string `json:"resourceKey"` // Resource key for accessing a link-shared file. - Encoding string `default:"InvalidUtf8" json:"encoding"` // The encoding for the backend. + ClientId string `json:"clientId"` // Google Application Client Id + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + Scope string `json:"scope" example:"drive"` // Scope that rclone should use when requesting access from drive. + RootFolderId string `json:"rootFolderId"` // ID of the root folder. + ServiceAccountFile string `json:"serviceAccountFile"` // Service Account Credentials JSON file path. + ServiceAccountCredentials string `json:"serviceAccountCredentials"` // Service Account Credentials JSON blob. + TeamDrive string `json:"teamDrive"` // ID of the Shared Drive (Team Drive). + AuthOwnerOnly bool `json:"authOwnerOnly" default:"false"` // Only consider files owned by the authenticated user. + UseTrash bool `json:"useTrash" default:"true"` // Send files to the trash instead of deleting permanently. + CopyShortcutContent bool `json:"copyShortcutContent" default:"false"` // Server side copy contents of shortcuts instead of the shortcut. + SkipGdocs bool `json:"skipGdocs" default:"false"` // Skip google documents in all listings. + SkipChecksumGphotos bool `json:"skipChecksumGphotos" default:"false"` // Skip MD5 checksum on Google photos and videos only. + SharedWithMe bool `json:"sharedWithMe" default:"false"` // Only show files that are shared with me. + TrashedOnly bool `json:"trashedOnly" default:"false"` // Only show files that are in the trash. + StarredOnly bool `json:"starredOnly" default:"false"` // Only show files that are starred. + Formats string `json:"formats"` // Deprecated: See export_formats. + ExportFormats string `json:"exportFormats" default:"docx,xlsx,pptx,svg"` // Comma separated list of preferred formats for downloading Google docs. + ImportFormats string `json:"importFormats"` // Comma separated list of preferred formats for uploading Google docs. + AllowImportNameChange bool `json:"allowImportNameChange" default:"false"` // Allow the filetype to change when uploading Google docs. + UseCreatedDate bool `json:"useCreatedDate" default:"false"` // Use file created date instead of modified date. + UseSharedDate bool `json:"useSharedDate" default:"false"` // Use date file was shared instead of modified date. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk 100-1000, 0 to disable. + Impersonate string `json:"impersonate"` // Impersonate this user when using a service account. + AlternateExport bool `json:"alternateExport" default:"false"` // Deprecated: No longer needed. + UploadCutoff string `json:"uploadCutoff" default:"8Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"8Mi"` // Upload chunk size. + AcknowledgeAbuse bool `json:"acknowledgeAbuse" default:"false"` // Set to allow files which return cannotDownloadAbusiveFile to be downloaded. + KeepRevisionForever bool `json:"keepRevisionForever" default:"false"` // Keep new head revision of each file forever. + SizeAsQuota bool `json:"sizeAsQuota" default:"false"` // Show sizes as storage quota usage, not actual size. + V2DownloadMinSize string `json:"v2DownloadMinSize" default:"off"` // If Object's are greater, use drive v2 API to download. + PacerMinSleep string `json:"pacerMinSleep" default:"100ms"` // Minimum time to sleep between API calls. + PacerBurst int `json:"pacerBurst" default:"100"` // Number of API calls to allow without sleeping. + ServerSideAcrossConfigs bool `json:"serverSideAcrossConfigs" default:"false"` // Allow server-side operations (e.g. copy) to work across different drive configs. + DisableHttp2 bool `json:"disableHttp2" default:"true"` // Disable drive using http2. + StopOnUploadLimit bool `json:"stopOnUploadLimit" default:"false"` // Make upload limit errors be fatal. + StopOnDownloadLimit bool `json:"stopOnDownloadLimit" default:"false"` // Make download limit errors be fatal. + SkipShortcuts bool `json:"skipShortcuts" default:"false"` // If set skip shortcut files. + SkipDanglingShortcuts bool `json:"skipDanglingShortcuts" default:"false"` // If set skip dangling shortcut files. + ResourceKey string `json:"resourceKey"` // Resource key for accessing a link-shared file. + Encoding string `json:"encoding" default:"InvalidUtf8"` // The encoding for the backend. } type createDriveStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config driveConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -230,24 +230,24 @@ type createDriveStorageRequest struct { func createDriveStorage() {} type dropboxConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - ChunkSize string `default:"48Mi" json:"chunkSize"` // Upload chunk size (< 150Mi). - Impersonate string `json:"impersonate"` // Impersonate this user when using a business account. - SharedFiles bool `default:"false" json:"sharedFiles"` // Instructs rclone to work on individual shared files. - SharedFolders bool `default:"false" json:"sharedFolders"` // Instructs rclone to work on shared folders. - BatchMode string `default:"sync" json:"batchMode"` // Upload file batching sync|async|off. - BatchSize int `default:"0" json:"batchSize"` // Max number of files in upload batch. - BatchTimeout string `default:"0s" json:"batchTimeout"` // Max time to allow an idle upload batch before uploading. - BatchCommitTimeout string `default:"10m0s" json:"batchCommitTimeout"` // Max time to wait for a batch to finish committing - Encoding string `default:"Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + ChunkSize string `json:"chunkSize" default:"48Mi"` // Upload chunk size (< 150Mi). + Impersonate string `json:"impersonate"` // Impersonate this user when using a business account. + SharedFiles bool `json:"sharedFiles" default:"false"` // Instructs rclone to work on individual shared files. + SharedFolders bool `json:"sharedFolders" default:"false"` // Instructs rclone to work on shared folders. + BatchMode string `json:"batchMode" default:"sync"` // Upload file batching sync|async|off. + BatchSize int `json:"batchSize" default:"0"` // Max number of files in upload batch. + BatchTimeout string `json:"batchTimeout" default:"0s"` // Max time to allow an idle upload batch before uploading. + BatchCommitTimeout string `json:"batchCommitTimeout" default:"10m0s"` // Max time to wait for a batch to finish committing + Encoding string `json:"encoding" default:"Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot"` // The encoding for the backend. } type createDropboxStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config dropboxConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -270,11 +270,11 @@ type fichierConfig struct { SharedFolder string `json:"sharedFolder"` // If you want to download a shared folder, add this parameter. FilePassword string `json:"filePassword"` // If you want to download a shared file that is password protected, add this parameter. FolderPassword string `json:"folderPassword"` // If you want to list the files in a shared folder that is password protected, add this parameter. - Encoding string `default:"Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot"` // The encoding for the backend. } type createFichierStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config fichierConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -293,17 +293,17 @@ type createFichierStorageRequest struct { func createFichierStorage() {} type filefabricConfig struct { - Url string `example:"https://storagemadeeasy.com" json:"url"` // URL of the Enterprise File Fabric to connect to. + Url string `json:"url" example:"https://storagemadeeasy.com"` // URL of the Enterprise File Fabric to connect to. RootFolderId string `json:"rootFolderId"` // ID of the root folder. PermanentToken string `json:"permanentToken"` // Permanent Authentication Token. Token string `json:"token"` // Session Token. TokenExpiry string `json:"tokenExpiry"` // Token expiry time. Version string `json:"version"` // Version read from the file fabric. - Encoding string `default:"Slash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + Encoding string `json:"encoding" default:"Slash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. } type createFilefabricStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config filefabricConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -323,29 +323,29 @@ func createFilefabricStorage() {} type ftpConfig struct { Host string `json:"host"` // FTP host to connect to. - User string `default:"$USER" json:"user"` // FTP username. - Port int `default:"21" json:"port"` // FTP port number. + User string `json:"user" default:"$USER"` // FTP username. + Port int `json:"port" default:"21"` // FTP port number. Pass string `json:"pass"` // FTP password. - Tls bool `default:"false" json:"tls"` // Use Implicit FTPS (FTP over TLS). - ExplicitTls bool `default:"false" json:"explicitTls"` // Use Explicit FTPS (FTP over TLS). - Concurrency int `default:"0" json:"concurrency"` // Maximum number of FTP simultaneous connections, 0 for unlimited. - NoCheckCertificate bool `default:"false" json:"noCheckCertificate"` // Do not verify the TLS certificate of the server. - DisableEpsv bool `default:"false" json:"disableEpsv"` // Disable using EPSV even if server advertises support. - DisableMlsd bool `default:"false" json:"disableMlsd"` // Disable using MLSD even if server advertises support. - DisableUtf8 bool `default:"false" json:"disableUtf8"` // Disable using UTF-8 even if server advertises support. - WritingMdtm bool `default:"false" json:"writingMdtm"` // Use MDTM to set modification time (VsFtpd quirk) - ForceListHidden bool `default:"false" json:"forceListHidden"` // Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD. - IdleTimeout string `default:"1m0s" json:"idleTimeout"` // Max time before closing idle connections. - CloseTimeout string `default:"1m0s" json:"closeTimeout"` // Maximum time to wait for a response to close. - TlsCacheSize int `default:"32" json:"tlsCacheSize"` // Size of TLS session cache for all control and data connections. - DisableTls13 bool `default:"false" json:"disableTls13"` // Disable TLS 1.3 (workaround for FTP servers with buggy TLS) - ShutTimeout string `default:"1m0s" json:"shutTimeout"` // Maximum time to wait for data connection closing status. - AskPassword bool `default:"false" json:"askPassword"` // Allow asking for FTP password when needed. - Encoding string `default:"Slash,Del,Ctl,RightSpace,Dot" example:"Asterisk,Ctl,Dot,Slash" json:"encoding"` // The encoding for the backend. + Tls bool `json:"tls" default:"false"` // Use Implicit FTPS (FTP over TLS). + ExplicitTls bool `json:"explicitTls" default:"false"` // Use Explicit FTPS (FTP over TLS). + Concurrency int `json:"concurrency" default:"0"` // Maximum number of FTP simultaneous connections, 0 for unlimited. + NoCheckCertificate bool `json:"noCheckCertificate" default:"false"` // Do not verify the TLS certificate of the server. + DisableEpsv bool `json:"disableEpsv" default:"false"` // Disable using EPSV even if server advertises support. + DisableMlsd bool `json:"disableMlsd" default:"false"` // Disable using MLSD even if server advertises support. + DisableUtf8 bool `json:"disableUtf8" default:"false"` // Disable using UTF-8 even if server advertises support. + WritingMdtm bool `json:"writingMdtm" default:"false"` // Use MDTM to set modification time (VsFtpd quirk) + ForceListHidden bool `json:"forceListHidden" default:"false"` // Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD. + IdleTimeout string `json:"idleTimeout" default:"1m0s"` // Max time before closing idle connections. + CloseTimeout string `json:"closeTimeout" default:"1m0s"` // Maximum time to wait for a response to close. + TlsCacheSize int `json:"tlsCacheSize" default:"32"` // Size of TLS session cache for all control and data connections. + DisableTls13 bool `json:"disableTls13" default:"false"` // Disable TLS 1.3 (workaround for FTP servers with buggy TLS) + ShutTimeout string `json:"shutTimeout" default:"1m0s"` // Maximum time to wait for data connection closing status. + AskPassword bool `json:"askPassword" default:"false"` // Allow asking for FTP password when needed. + Encoding string `json:"encoding" default:"Slash,Del,Ctl,RightSpace,Dot" example:"Asterisk,Ctl,Dot,Slash"` // The encoding for the backend. } type createFtpStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config ftpConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -364,29 +364,29 @@ type createFtpStorageRequest struct { func createFtpStorage() {} type gcsConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - ProjectNumber string `json:"projectNumber"` // Project number. - ServiceAccountFile string `json:"serviceAccountFile"` // Service Account Credentials JSON file path. - ServiceAccountCredentials string `json:"serviceAccountCredentials"` // Service Account Credentials JSON blob. - Anonymous bool `default:"false" json:"anonymous"` // Access public buckets and objects without credentials. - ObjectAcl string `example:"authenticatedRead" json:"objectAcl"` // Access Control List for new objects. - BucketAcl string `example:"authenticatedRead" json:"bucketAcl"` // Access Control List for new buckets. - BucketPolicyOnly bool `default:"false" json:"bucketPolicyOnly"` // Access checks should use bucket-level IAM policies. - Location string `example:"" json:"location"` // Location for the newly created buckets. - StorageClass string `example:"" json:"storageClass"` // The storage class to use when storing objects in Google Cloud Storage. - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - Endpoint string `json:"endpoint"` // Endpoint for the service. - Encoding string `default:"Slash,CrLf,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get GCP IAM credentials from runtime (environment variables or instance meta data if no env vars). + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + ProjectNumber string `json:"projectNumber"` // Project number. + ServiceAccountFile string `json:"serviceAccountFile"` // Service Account Credentials JSON file path. + ServiceAccountCredentials string `json:"serviceAccountCredentials"` // Service Account Credentials JSON blob. + Anonymous bool `json:"anonymous" default:"false"` // Access public buckets and objects without credentials. + ObjectAcl string `json:"objectAcl" example:"authenticatedRead"` // Access Control List for new objects. + BucketAcl string `json:"bucketAcl" example:"authenticatedRead"` // Access Control List for new buckets. + BucketPolicyOnly bool `json:"bucketPolicyOnly" default:"false"` // Access checks should use bucket-level IAM policies. + Location string `json:"location" example:""` // Location for the newly created buckets. + StorageClass string `json:"storageClass" example:""` // The storage class to use when storing objects in Google Cloud Storage. + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + Endpoint string `json:"endpoint"` // Endpoint for the service. + Encoding string `json:"encoding" default:"Slash,CrLf,InvalidUtf8,Dot"` // The encoding for the backend. + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get GCP IAM credentials from runtime (environment variables or instance meta data if no env vars). } type createGcsStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config gcsConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -405,20 +405,20 @@ type createGcsStorageRequest struct { func createGcsStorage() {} type gphotosConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - ReadOnly bool `default:"false" json:"readOnly"` // Set to make the Google Photos backend read only. - ReadSize bool `default:"false" json:"readSize"` // Set to read the size of media items. - StartYear int `default:"2000" json:"startYear"` // Year limits the photos to be downloaded to those which are uploaded after the given year. - IncludeArchived bool `default:"false" json:"includeArchived"` // Also view and download archived media. - Encoding string `default:"Slash,CrLf,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + ReadOnly bool `json:"readOnly" default:"false"` // Set to make the Google Photos backend read only. + ReadSize bool `json:"readSize" default:"false"` // Set to read the size of media items. + StartYear int `json:"startYear" default:"2000"` // Year limits the photos to be downloaded to those which are uploaded after the given year. + IncludeArchived bool `json:"includeArchived" default:"false"` // Also view and download archived media. + Encoding string `json:"encoding" default:"Slash,CrLf,InvalidUtf8,Dot"` // The encoding for the backend. } type createGphotosStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config gphotosConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -437,15 +437,15 @@ type createGphotosStorageRequest struct { func createGphotosStorage() {} type hdfsConfig struct { - Namenode string `json:"namenode"` // Hadoop name node and port. - Username string `example:"root" json:"username"` // Hadoop user name. - ServicePrincipalName string `json:"servicePrincipalName"` // Kerberos service principal name for the namenode. - DataTransferProtection string `example:"privacy" json:"dataTransferProtection"` // Kerberos data transfer protection: authentication|integrity|privacy. - Encoding string `default:"Slash,Colon,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + Namenode string `json:"namenode"` // Hadoop name node and port. + Username string `json:"username" example:"root"` // Hadoop user name. + ServicePrincipalName string `json:"servicePrincipalName"` // Kerberos service principal name for the namenode. + DataTransferProtection string `json:"dataTransferProtection" example:"privacy"` // Kerberos data transfer protection: authentication|integrity|privacy. + Encoding string `json:"encoding" default:"Slash,Colon,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. } type createHdfsStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config hdfsConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -464,24 +464,24 @@ type createHdfsStorageRequest struct { func createHdfsStorage() {} type hidriveConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - ScopeAccess string `default:"rw" example:"rw" json:"scopeAccess"` // Access permissions that rclone should use when requesting access from HiDrive. - ScopeRole string `default:"user" example:"user" json:"scopeRole"` // User-level that rclone should use when requesting access from HiDrive. - RootPrefix string `default:"/" example:"/" json:"rootPrefix"` // The root/parent folder for all paths. - Endpoint string `default:"https://api.hidrive.strato.com/2.1" json:"endpoint"` // Endpoint for the service. - DisableFetchingMemberCount bool `default:"false" json:"disableFetchingMemberCount"` // Do not fetch number of objects in directories unless it is absolutely necessary. - ChunkSize string `default:"48Mi" json:"chunkSize"` // Chunksize for chunked uploads. - UploadCutoff string `default:"96Mi" json:"uploadCutoff"` // Cutoff/Threshold for chunked uploads. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for chunked uploads. - Encoding string `default:"Slash,Dot" json:"encoding"` // The encoding for the backend. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + ScopeAccess string `json:"scopeAccess" default:"rw" example:"rw"` // Access permissions that rclone should use when requesting access from HiDrive. + ScopeRole string `json:"scopeRole" default:"user" example:"user"` // User-level that rclone should use when requesting access from HiDrive. + RootPrefix string `json:"rootPrefix" default:"/" example:"/"` // The root/parent folder for all paths. + Endpoint string `json:"endpoint" default:"https://api.hidrive.strato.com/2.1"` // Endpoint for the service. + DisableFetchingMemberCount bool `json:"disableFetchingMemberCount" default:"false"` // Do not fetch number of objects in directories unless it is absolutely necessary. + ChunkSize string `json:"chunkSize" default:"48Mi"` // Chunksize for chunked uploads. + UploadCutoff string `json:"uploadCutoff" default:"96Mi"` // Cutoff/Threshold for chunked uploads. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for chunked uploads. + Encoding string `json:"encoding" default:"Slash,Dot"` // The encoding for the backend. } type createHidriveStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config hidriveConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -502,12 +502,12 @@ func createHidriveStorage() {} type httpConfig struct { Url string `json:"url"` // URL of HTTP host to connect to. Headers string `json:"headers"` // Set HTTP headers for all transactions. - NoSlash bool `default:"false" json:"noSlash"` // Set this if the site doesn't end directories with /. - NoHead bool `default:"false" json:"noHead"` // Don't use HEAD requests. + NoSlash bool `json:"noSlash" default:"false"` // Set this if the site doesn't end directories with /. + NoHead bool `json:"noHead" default:"false"` // Don't use HEAD requests. } type createHttpStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config httpConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -526,17 +526,17 @@ type createHttpStorageRequest struct { func createHttpStorage() {} type internetarchiveConfig struct { - AccessKeyId string `json:"accessKeyId"` // IAS3 Access Key. - SecretAccessKey string `json:"secretAccessKey"` // IAS3 Secret Key (password). - Endpoint string `default:"https://s3.us.archive.org" json:"endpoint"` // IAS3 Endpoint. - FrontEndpoint string `default:"https://archive.org" json:"frontEndpoint"` // Host of InternetArchive Frontend. - DisableChecksum bool `default:"true" json:"disableChecksum"` // Don't ask the server to test against MD5 checksum calculated by rclone. - WaitArchive string `default:"0s" json:"waitArchive"` // Timeout for waiting the server's processing tasks (specifically archive and book_op) to finish. - Encoding string `default:"Slash,LtGt,CrLf,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + AccessKeyId string `json:"accessKeyId"` // IAS3 Access Key. + SecretAccessKey string `json:"secretAccessKey"` // IAS3 Secret Key (password). + Endpoint string `json:"endpoint" default:"https://s3.us.archive.org"` // IAS3 Endpoint. + FrontEndpoint string `json:"frontEndpoint" default:"https://archive.org"` // Host of InternetArchive Frontend. + DisableChecksum bool `json:"disableChecksum" default:"true"` // Don't ask the server to test against MD5 checksum calculated by rclone. + WaitArchive string `json:"waitArchive" default:"0s"` // Timeout for waiting the server's processing tasks (specifically archive and book_op) to finish. + Encoding string `json:"encoding" default:"Slash,LtGt,CrLf,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. } type createInternetarchiveStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config internetarchiveConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -555,16 +555,16 @@ type createInternetarchiveStorageRequest struct { func createInternetarchiveStorage() {} type jottacloudConfig struct { - Md5MemoryLimit string `default:"10Mi" json:"md5MemoryLimit"` // Files bigger than this will be cached on disk to calculate the MD5 if required. - TrashedOnly bool `default:"false" json:"trashedOnly"` // Only show files that are in the trash. - HardDelete bool `default:"false" json:"hardDelete"` // Delete files permanently rather than putting them into the trash. - UploadResumeLimit string `default:"10Mi" json:"uploadResumeLimit"` // Files bigger than this can be resumed if the upload fail's. - NoVersions bool `default:"false" json:"noVersions"` // Avoid server side versioning by deleting files and recreating files instead of overwriting them. - Encoding string `default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + Md5MemoryLimit string `json:"md5MemoryLimit" default:"10Mi"` // Files bigger than this will be cached on disk to calculate the MD5 if required. + TrashedOnly bool `json:"trashedOnly" default:"false"` // Only show files that are in the trash. + HardDelete bool `json:"hardDelete" default:"false"` // Delete files permanently rather than putting them into the trash. + UploadResumeLimit string `json:"uploadResumeLimit" default:"10Mi"` // Files bigger than this can be resumed if the upload fail's. + NoVersions bool `json:"noVersions" default:"false"` // Avoid server side versioning by deleting files and recreating files instead of overwriting them. + Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. } type createJottacloudStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config jottacloudConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -584,14 +584,14 @@ func createJottacloudStorage() {} type koofrDigistorageConfig struct { Mountid string `json:"mountid"` // Mount ID of the mount to use. - Setmtime bool `default:"true" json:"setmtime"` // Does the backend support setting modification time. + Setmtime bool `json:"setmtime" default:"true"` // Does the backend support setting modification time. User string `json:"user"` // Your user name. Password string `json:"password"` // Your password for rclone (generate one at https://storage.rcs-rds.ro/app/admin/preferences/password). - Encoding string `default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. } type createKoofrDigistorageStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config koofrDigistorageConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -611,14 +611,14 @@ func createKoofrDigistorageStorage() {} type koofrKoofrConfig struct { Mountid string `json:"mountid"` // Mount ID of the mount to use. - Setmtime bool `default:"true" json:"setmtime"` // Does the backend support setting modification time. + Setmtime bool `json:"setmtime" default:"true"` // Does the backend support setting modification time. User string `json:"user"` // Your user name. Password string `json:"password"` // Your password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password). - Encoding string `default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. } type createKoofrKoofrStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config koofrKoofrConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -639,14 +639,14 @@ func createKoofrKoofrStorage() {} type koofrOtherConfig struct { Endpoint string `json:"endpoint"` // The Koofr API endpoint to use. Mountid string `json:"mountid"` // Mount ID of the mount to use. - Setmtime bool `default:"true" json:"setmtime"` // Does the backend support setting modification time. + Setmtime bool `json:"setmtime" default:"true"` // Does the backend support setting modification time. User string `json:"user"` // Your user name. Password string `json:"password"` // Your password for rclone (generate one at your service's settings page). - Encoding string `default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. } type createKoofrOtherStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config koofrOtherConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -665,24 +665,24 @@ type createKoofrOtherStorageRequest struct { func createKoofrOtherStorage() {} type localConfig struct { - Nounc bool `default:"false" example:"true" json:"nounc"` // Disable UNC (long path names) conversion on Windows. - CopyLinks bool `default:"false" json:"copyLinks"` // Follow symlinks and copy the pointed to item. - Links bool `default:"false" json:"links"` // Translate symlinks to/from regular files with a '.rclonelink' extension. - SkipLinks bool `default:"false" json:"skipLinks"` // Don't warn about skipped symlinks. - ZeroSizeLinks bool `default:"false" json:"zeroSizeLinks"` // Assume the Stat size of links is zero (and read them instead) (deprecated). - UnicodeNormalization bool `default:"false" json:"unicodeNormalization"` // Apply unicode NFC normalization to paths and filenames. - NoCheckUpdated bool `default:"false" json:"noCheckUpdated"` // Don't check to see if the files change during upload. - OneFileSystem bool `default:"false" json:"oneFileSystem"` // Don't cross filesystem boundaries (unix/macOS only). - CaseSensitive bool `default:"false" json:"caseSensitive"` // Force the filesystem to report itself as case sensitive. - CaseInsensitive bool `default:"false" json:"caseInsensitive"` // Force the filesystem to report itself as case insensitive. - NoPreallocate bool `default:"false" json:"noPreallocate"` // Disable preallocation of disk space for transferred files. - NoSparse bool `default:"false" json:"noSparse"` // Disable sparse files for multi-thread downloads. - NoSetModtime bool `default:"false" json:"noSetModtime"` // Disable setting modtime. - Encoding string `default:"Slash,Dot" json:"encoding"` // The encoding for the backend. + Nounc bool `json:"nounc" default:"false" example:"true"` // Disable UNC (long path names) conversion on Windows. + CopyLinks bool `json:"copyLinks" default:"false"` // Follow symlinks and copy the pointed to item. + Links bool `json:"links" default:"false"` // Translate symlinks to/from regular files with a '.rclonelink' extension. + SkipLinks bool `json:"skipLinks" default:"false"` // Don't warn about skipped symlinks. + ZeroSizeLinks bool `json:"zeroSizeLinks" default:"false"` // Assume the Stat size of links is zero (and read them instead) (deprecated). + UnicodeNormalization bool `json:"unicodeNormalization" default:"false"` // Apply unicode NFC normalization to paths and filenames. + NoCheckUpdated bool `json:"noCheckUpdated" default:"false"` // Don't check to see if the files change during upload. + OneFileSystem bool `json:"oneFileSystem" default:"false"` // Don't cross filesystem boundaries (unix/macOS only). + CaseSensitive bool `json:"caseSensitive" default:"false"` // Force the filesystem to report itself as case sensitive. + CaseInsensitive bool `json:"caseInsensitive" default:"false"` // Force the filesystem to report itself as case insensitive. + NoPreallocate bool `json:"noPreallocate" default:"false"` // Disable preallocation of disk space for transferred files. + NoSparse bool `json:"noSparse" default:"false"` // Disable sparse files for multi-thread downloads. + NoSetModtime bool `json:"noSetModtime" default:"false"` // Disable setting modtime. + Encoding string `json:"encoding" default:"Slash,Dot"` // The encoding for the backend. } type createLocalStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config localConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -701,20 +701,20 @@ type createLocalStorageRequest struct { func createLocalStorage() {} type mailruConfig struct { - User string `json:"user"` // User name (usually email). - Pass string `json:"pass"` // Password. - SpeedupEnable bool `default:"true" example:"true" json:"speedupEnable"` // Skip full upload if there is another file with same data hash. - SpeedupFilePatterns string `default:"*.mkv,*.avi,*.mp4,*.mp3,*.zip,*.gz,*.rar,*.pdf" example:"" json:"speedupFilePatterns"` // Comma separated list of file name patterns eligible for speedup (put by hash). - SpeedupMaxDisk string `default:"3Gi" example:"0" json:"speedupMaxDisk"` // This option allows you to disable speedup (put by hash) for large files. - SpeedupMaxMemory string `default:"32Mi" example:"0" json:"speedupMaxMemory"` // Files larger than the size given below will always be hashed on disk. - CheckHash bool `default:"true" example:"true" json:"checkHash"` // What should copy do if file checksum is mismatched or invalid. - UserAgent string `json:"userAgent"` // HTTP user agent used internally by client. - Quirks string `json:"quirks"` // Comma separated list of internal maintenance flags. - Encoding string `default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + User string `json:"user"` // User name (usually email). + Pass string `json:"pass"` // Password. + SpeedupEnable bool `json:"speedupEnable" default:"true" example:"true"` // Skip full upload if there is another file with same data hash. + SpeedupFilePatterns string `json:"speedupFilePatterns" default:"*.mkv,*.avi,*.mp4,*.mp3,*.zip,*.gz,*.rar,*.pdf" example:""` // Comma separated list of file name patterns eligible for speedup (put by hash). + SpeedupMaxDisk string `json:"speedupMaxDisk" default:"3Gi" example:"0"` // This option allows you to disable speedup (put by hash) for large files. + SpeedupMaxMemory string `json:"speedupMaxMemory" default:"32Mi" example:"0"` // Files larger than the size given below will always be hashed on disk. + CheckHash bool `json:"checkHash" default:"true" example:"true"` // What should copy do if file checksum is mismatched or invalid. + UserAgent string `json:"userAgent"` // HTTP user agent used internally by client. + Quirks string `json:"quirks"` // Comma separated list of internal maintenance flags. + Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. } type createMailruStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config mailruConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -733,16 +733,16 @@ type createMailruStorageRequest struct { func createMailruStorage() {} type megaConfig struct { - User string `json:"user"` // User name. - Pass string `json:"pass"` // Password. - Debug bool `default:"false" json:"debug"` // Output more debug from Mega. - HardDelete bool `default:"false" json:"hardDelete"` // Delete files permanently rather than putting them into the trash. - UseHttps bool `default:"false" json:"useHttps"` // Use HTTPS for transfers. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + User string `json:"user"` // User name. + Pass string `json:"pass"` // Password. + Debug bool `json:"debug" default:"false"` // Output more debug from Mega. + HardDelete bool `json:"hardDelete" default:"false"` // Delete files permanently rather than putting them into the trash. + UseHttps bool `json:"useHttps" default:"false"` // Use HTTPS for transfers. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. } type createMegaStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config megaConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -761,14 +761,14 @@ type createMegaStorageRequest struct { func createMegaStorage() {} type netstorageConfig struct { - Protocol string `default:"https" example:"http" json:"protocol"` // Select between HTTP or HTTPS protocol. + Protocol string `json:"protocol" default:"https" example:"http"` // Select between HTTP or HTTPS protocol. Host string `json:"host"` // Domain+path of NetStorage host to connect to. Account string `json:"account"` // Set the NetStorage account name Secret string `json:"secret"` // Set the NetStorage account secret/G2O key for authentication. } type createNetstorageStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config netstorageConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -787,31 +787,31 @@ type createNetstorageStorageRequest struct { func createNetstorageStorage() {} type onedriveConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - Region string `default:"global" example:"global" json:"region"` // Choose national cloud region for OneDrive. - ChunkSize string `default:"10Mi" json:"chunkSize"` // Chunk size to upload files with - must be multiple of 320k (327,680 bytes). - DriveId string `json:"driveId"` // The ID of the drive to use. - DriveType string `json:"driveType"` // The type of the drive (personal | business | documentLibrary). - RootFolderId string `json:"rootFolderId"` // ID of the root folder. - AccessScopes string `default:"Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All Sites.Read.All offline_access" example:"Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All Sites.Read.All offline_access" json:"accessScopes"` // Set scopes to be requested by rclone. - DisableSitePermission bool `default:"false" json:"disableSitePermission"` // Disable the request for Sites.Read.All permission. - ExposeOnenoteFiles bool `default:"false" json:"exposeOnenoteFiles"` // Set to make OneNote files show up in directory listings. - ServerSideAcrossConfigs bool `default:"false" json:"serverSideAcrossConfigs"` // Allow server-side operations (e.g. copy) to work across different onedrive configs. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk. - NoVersions bool `default:"false" json:"noVersions"` // Remove all versions on modifying operations. - LinkScope string `default:"anonymous" example:"anonymous" json:"linkScope"` // Set the scope of the links created by the link command. - LinkType string `default:"view" example:"view" json:"linkType"` // Set the type of the links created by the link command. - LinkPassword string `json:"linkPassword"` // Set the password for links created by the link command. - HashType string `default:"auto" example:"auto" json:"hashType"` // Specify the hash in use for the backend. - Encoding string `default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + Region string `json:"region" default:"global" example:"global"` // Choose national cloud region for OneDrive. + ChunkSize string `json:"chunkSize" default:"10Mi"` // Chunk size to upload files with - must be multiple of 320k (327,680 bytes). + DriveId string `json:"driveId"` // The ID of the drive to use. + DriveType string `json:"driveType"` // The type of the drive (personal | business | documentLibrary). + RootFolderId string `json:"rootFolderId"` // ID of the root folder. + AccessScopes string `json:"accessScopes" default:"Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All Sites.Read.All offline_access" example:"Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All Sites.Read.All offline_access"` // Set scopes to be requested by rclone. + DisableSitePermission bool `json:"disableSitePermission" default:"false"` // Disable the request for Sites.Read.All permission. + ExposeOnenoteFiles bool `json:"exposeOnenoteFiles" default:"false"` // Set to make OneNote files show up in directory listings. + ServerSideAcrossConfigs bool `json:"serverSideAcrossConfigs" default:"false"` // Allow server-side operations (e.g. copy) to work across different onedrive configs. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk. + NoVersions bool `json:"noVersions" default:"false"` // Remove all versions on modifying operations. + LinkScope string `json:"linkScope" default:"anonymous" example:"anonymous"` // Set the scope of the links created by the link command. + LinkType string `json:"linkType" default:"view" example:"view"` // Set the type of the links created by the link command. + LinkPassword string `json:"linkPassword"` // Set the password for links created by the link command. + HashType string `json:"hashType" default:"auto" example:"auto"` // Specify the hash in use for the backend. + Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot"` // The encoding for the backend. } type createOnedriveStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config onedriveConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -830,29 +830,29 @@ type createOnedriveStorageRequest struct { func createOnedriveStorage() {} type oosEnv_authConfig struct { - Namespace string `json:"namespace"` // Object storage namespace - Compartment string `json:"compartment"` // Object storage compartment OCID - Region string `json:"region"` // Object storage Region - Endpoint string `json:"endpoint"` // Endpoint for Object storage API. - StorageTier string `default:"Standard" example:"Standard" json:"storageTier"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - UploadConcurrency int `default:"10" json:"uploadConcurrency"` // Concurrency for multipart uploads. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - CopyTimeout string `default:"1m0s" json:"copyTimeout"` // Timeout for copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - LeavePartsOnError bool `default:"false" json:"leavePartsOnError"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - SseCustomerKeyFile string `example:"" json:"sseCustomerKeyFile"` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated - SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to - SseCustomerKeySha256 string `example:"" json:"sseCustomerKeySha256"` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption - SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // if using using your own master key in vault, this header specifies the - SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. + Namespace string `json:"namespace"` // Object storage namespace + Compartment string `json:"compartment"` // Object storage compartment OCID + Region string `json:"region"` // Object storage Region + Endpoint string `json:"endpoint"` // Endpoint for Object storage API. + StorageTier string `json:"storageTier" default:"Standard" example:"Standard"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + UploadConcurrency int `json:"uploadConcurrency" default:"10"` // Concurrency for multipart uploads. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + CopyTimeout string `json:"copyTimeout" default:"1m0s"` // Timeout for copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + LeavePartsOnError bool `json:"leavePartsOnError" default:"false"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + SseCustomerKeyFile string `json:"sseCustomerKeyFile" example:""` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated + SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to + SseCustomerKeySha256 string `json:"sseCustomerKeySha256" example:""` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption + SseKmsKeyId string `json:"sseKmsKeyId" example:""` // if using using your own master key in vault, this header specifies the + SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. } type createOosEnv_authStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config oosEnv_authConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -871,29 +871,29 @@ type createOosEnv_authStorageRequest struct { func createOosEnv_authStorage() {} type oosInstance_principal_authConfig struct { - Namespace string `json:"namespace"` // Object storage namespace - Compartment string `json:"compartment"` // Object storage compartment OCID - Region string `json:"region"` // Object storage Region - Endpoint string `json:"endpoint"` // Endpoint for Object storage API. - StorageTier string `default:"Standard" example:"Standard" json:"storageTier"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - UploadConcurrency int `default:"10" json:"uploadConcurrency"` // Concurrency for multipart uploads. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - CopyTimeout string `default:"1m0s" json:"copyTimeout"` // Timeout for copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - LeavePartsOnError bool `default:"false" json:"leavePartsOnError"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - SseCustomerKeyFile string `example:"" json:"sseCustomerKeyFile"` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated - SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to - SseCustomerKeySha256 string `example:"" json:"sseCustomerKeySha256"` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption - SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // if using using your own master key in vault, this header specifies the - SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. + Namespace string `json:"namespace"` // Object storage namespace + Compartment string `json:"compartment"` // Object storage compartment OCID + Region string `json:"region"` // Object storage Region + Endpoint string `json:"endpoint"` // Endpoint for Object storage API. + StorageTier string `json:"storageTier" default:"Standard" example:"Standard"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + UploadConcurrency int `json:"uploadConcurrency" default:"10"` // Concurrency for multipart uploads. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + CopyTimeout string `json:"copyTimeout" default:"1m0s"` // Timeout for copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + LeavePartsOnError bool `json:"leavePartsOnError" default:"false"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + SseCustomerKeyFile string `json:"sseCustomerKeyFile" example:""` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated + SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to + SseCustomerKeySha256 string `json:"sseCustomerKeySha256" example:""` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption + SseKmsKeyId string `json:"sseKmsKeyId" example:""` // if using using your own master key in vault, this header specifies the + SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. } type createOosInstance_principal_authStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config oosInstance_principal_authConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -912,28 +912,28 @@ type createOosInstance_principal_authStorageRequest struct { func createOosInstance_principal_authStorage() {} type oosNo_authConfig struct { - Namespace string `json:"namespace"` // Object storage namespace - Region string `json:"region"` // Object storage Region - Endpoint string `json:"endpoint"` // Endpoint for Object storage API. - StorageTier string `default:"Standard" example:"Standard" json:"storageTier"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - UploadConcurrency int `default:"10" json:"uploadConcurrency"` // Concurrency for multipart uploads. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - CopyTimeout string `default:"1m0s" json:"copyTimeout"` // Timeout for copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - LeavePartsOnError bool `default:"false" json:"leavePartsOnError"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - SseCustomerKeyFile string `example:"" json:"sseCustomerKeyFile"` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated - SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to - SseCustomerKeySha256 string `example:"" json:"sseCustomerKeySha256"` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption - SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // if using using your own master key in vault, this header specifies the - SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. + Namespace string `json:"namespace"` // Object storage namespace + Region string `json:"region"` // Object storage Region + Endpoint string `json:"endpoint"` // Endpoint for Object storage API. + StorageTier string `json:"storageTier" default:"Standard" example:"Standard"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + UploadConcurrency int `json:"uploadConcurrency" default:"10"` // Concurrency for multipart uploads. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + CopyTimeout string `json:"copyTimeout" default:"1m0s"` // Timeout for copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + LeavePartsOnError bool `json:"leavePartsOnError" default:"false"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + SseCustomerKeyFile string `json:"sseCustomerKeyFile" example:""` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated + SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to + SseCustomerKeySha256 string `json:"sseCustomerKeySha256" example:""` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption + SseKmsKeyId string `json:"sseKmsKeyId" example:""` // if using using your own master key in vault, this header specifies the + SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. } type createOosNo_authStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config oosNo_authConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -952,29 +952,29 @@ type createOosNo_authStorageRequest struct { func createOosNo_authStorage() {} type oosResource_principal_authConfig struct { - Namespace string `json:"namespace"` // Object storage namespace - Compartment string `json:"compartment"` // Object storage compartment OCID - Region string `json:"region"` // Object storage Region - Endpoint string `json:"endpoint"` // Endpoint for Object storage API. - StorageTier string `default:"Standard" example:"Standard" json:"storageTier"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - UploadConcurrency int `default:"10" json:"uploadConcurrency"` // Concurrency for multipart uploads. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - CopyTimeout string `default:"1m0s" json:"copyTimeout"` // Timeout for copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - LeavePartsOnError bool `default:"false" json:"leavePartsOnError"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - SseCustomerKeyFile string `example:"" json:"sseCustomerKeyFile"` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated - SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to - SseCustomerKeySha256 string `example:"" json:"sseCustomerKeySha256"` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption - SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // if using using your own master key in vault, this header specifies the - SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. + Namespace string `json:"namespace"` // Object storage namespace + Compartment string `json:"compartment"` // Object storage compartment OCID + Region string `json:"region"` // Object storage Region + Endpoint string `json:"endpoint"` // Endpoint for Object storage API. + StorageTier string `json:"storageTier" default:"Standard" example:"Standard"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + UploadConcurrency int `json:"uploadConcurrency" default:"10"` // Concurrency for multipart uploads. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + CopyTimeout string `json:"copyTimeout" default:"1m0s"` // Timeout for copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + LeavePartsOnError bool `json:"leavePartsOnError" default:"false"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + SseCustomerKeyFile string `json:"sseCustomerKeyFile" example:""` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated + SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to + SseCustomerKeySha256 string `json:"sseCustomerKeySha256" example:""` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption + SseKmsKeyId string `json:"sseKmsKeyId" example:""` // if using using your own master key in vault, this header specifies the + SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. } type createOosResource_principal_authStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config oosResource_principal_authConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -993,31 +993,31 @@ type createOosResource_principal_authStorageRequest struct { func createOosResource_principal_authStorage() {} type oosUser_principal_authConfig struct { - Namespace string `json:"namespace"` // Object storage namespace - Compartment string `json:"compartment"` // Object storage compartment OCID - Region string `json:"region"` // Object storage Region - Endpoint string `json:"endpoint"` // Endpoint for Object storage API. - ConfigFile string `default:"~/.oci/config" example:"~/.oci/config" json:"configFile"` // Path to OCI config file - ConfigProfile string `default:"Default" example:"Default" json:"configProfile"` // Profile name inside the oci config file - StorageTier string `default:"Standard" example:"Standard" json:"storageTier"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - UploadConcurrency int `default:"10" json:"uploadConcurrency"` // Concurrency for multipart uploads. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - CopyTimeout string `default:"1m0s" json:"copyTimeout"` // Timeout for copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - LeavePartsOnError bool `default:"false" json:"leavePartsOnError"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - SseCustomerKeyFile string `example:"" json:"sseCustomerKeyFile"` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated - SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to - SseCustomerKeySha256 string `example:"" json:"sseCustomerKeySha256"` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption - SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // if using using your own master key in vault, this header specifies the - SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. + Namespace string `json:"namespace"` // Object storage namespace + Compartment string `json:"compartment"` // Object storage compartment OCID + Region string `json:"region"` // Object storage Region + Endpoint string `json:"endpoint"` // Endpoint for Object storage API. + ConfigFile string `json:"configFile" default:"~/.oci/config" example:"~/.oci/config"` // Path to OCI config file + ConfigProfile string `json:"configProfile" default:"Default" example:"Default"` // Profile name inside the oci config file + StorageTier string `json:"storageTier" default:"Standard" example:"Standard"` // The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + UploadConcurrency int `json:"uploadConcurrency" default:"10"` // Concurrency for multipart uploads. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + CopyTimeout string `json:"copyTimeout" default:"1m0s"` // Timeout for copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + LeavePartsOnError bool `json:"leavePartsOnError" default:"false"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + SseCustomerKeyFile string `json:"sseCustomerKeyFile" example:""` // To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated + SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to + SseCustomerKeySha256 string `json:"sseCustomerKeySha256" example:""` // If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption + SseKmsKeyId string `json:"sseKmsKeyId" example:""` // if using using your own master key in vault, this header specifies the + SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm. } type createOosUser_principal_authStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config oosUser_principal_authConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1036,14 +1036,14 @@ type createOosUser_principal_authStorageRequest struct { func createOosUser_principal_authStorage() {} type opendriveConfig struct { - Username string `json:"username"` // Username. - Password string `json:"password"` // Password. - Encoding string `default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - ChunkSize string `default:"10Mi" json:"chunkSize"` // Files will be uploaded in chunks this size. + Username string `json:"username"` // Username. + Password string `json:"password"` // Password. + Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot"` // The encoding for the backend. + ChunkSize string `json:"chunkSize" default:"10Mi"` // Files will be uploaded in chunks this size. } type createOpendriveStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config opendriveConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1062,20 +1062,20 @@ type createOpendriveStorageRequest struct { func createOpendriveStorage() {} type pcloudConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - Encoding string `default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - RootFolderId string `default:"d0" json:"rootFolderId"` // Fill in for rclone to use a non root folder as its starting point. - Hostname string `default:"api.pcloud.com" example:"api.pcloud.com" json:"hostname"` // Hostname to connect to. - Username string `json:"username"` // Your pcloud username. - Password string `json:"password"` // Your pcloud password. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. + RootFolderId string `json:"rootFolderId" default:"d0"` // Fill in for rclone to use a non root folder as its starting point. + Hostname string `json:"hostname" default:"api.pcloud.com" example:"api.pcloud.com"` // Hostname to connect to. + Username string `json:"username"` // Your pcloud username. + Password string `json:"password"` // Your pcloud password. } type createPcloudStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config pcloudConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1095,11 +1095,11 @@ func createPcloudStorage() {} type premiumizemeConfig struct { ApiKey string `json:"apiKey"` // API Key. - Encoding string `default:"Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + Encoding string `json:"encoding" default:"Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. } type createPremiumizemeStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config premiumizemeConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1118,11 +1118,11 @@ type createPremiumizemeStorageRequest struct { func createPremiumizemeStorage() {} type putioConfig struct { - Encoding string `default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + Encoding string `json:"encoding" default:"Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. } type createPutioStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config putioConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1141,20 +1141,20 @@ type createPutioStorageRequest struct { func createPutioStorage() {} type qingstorConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get QingStor credentials from runtime. - AccessKeyId string `json:"accessKeyId"` // QingStor Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // QingStor Secret Access Key (password). - Endpoint string `json:"endpoint"` // Enter an endpoint URL to connection QingStor API. - Zone string `example:"pek3a" json:"zone"` // Zone to connect to. - ConnectionRetries int `default:"3" json:"connectionRetries"` // Number of connection retries. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"4Mi" json:"chunkSize"` // Chunk size to use for uploading. - UploadConcurrency int `default:"1" json:"uploadConcurrency"` // Concurrency for multipart uploads. - Encoding string `default:"Slash,Ctl,InvalidUtf8" json:"encoding"` // The encoding for the backend. + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get QingStor credentials from runtime. + AccessKeyId string `json:"accessKeyId"` // QingStor Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // QingStor Secret Access Key (password). + Endpoint string `json:"endpoint"` // Enter an endpoint URL to connection QingStor API. + Zone string `json:"zone" example:"pek3a"` // Zone to connect to. + ConnectionRetries int `json:"connectionRetries" default:"3"` // Number of connection retries. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"4Mi"` // Chunk size to use for uploading. + UploadConcurrency int `json:"uploadConcurrency" default:"1"` // Concurrency for multipart uploads. + Encoding string `json:"encoding" default:"Slash,Ctl,InvalidUtf8"` // The encoding for the backend. } type createQingstorStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config qingstorConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1173,58 +1173,58 @@ type createQingstorStorageRequest struct { func createQingstorStorage() {} type s3AWSConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"us-east-1" json:"region"` // Region to connect to. - Endpoint string `json:"endpoint"` // Endpoint for S3 API. - LocationConstraint string `example:"" json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - RequesterPays bool `default:"false" json:"requesterPays"` // Enables requester pays option when interacting with S3 bucket. - ServerSideEncryption string `example:"" json:"serverSideEncryption"` // The server-side encryption algorithm used when storing this object in S3. - SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. - SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // If using KMS ID you must provide the ARN of Key. - SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. - SseCustomerKeyBase64 string `example:"" json:"sseCustomerKeyBase64"` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. - SseCustomerKeyMd5 string `example:"" json:"sseCustomerKeyMd5"` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). - StorageClass string `example:"" json:"storageClass"` // The storage class to use when storing new objects in S3. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - UseAccelerateEndpoint bool `default:"false" json:"useAccelerateEndpoint"` // If true use the AWS S3 accelerated endpoint. - LeavePartsOnError bool `default:"false" json:"leavePartsOnError"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata - StsEndpoint string `json:"stsEndpoint"` // Endpoint for STS. + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:"us-east-1"` // Region to connect to. + Endpoint string `json:"endpoint"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint" example:""` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + RequesterPays bool `json:"requesterPays" default:"false"` // Enables requester pays option when interacting with S3 bucket. + ServerSideEncryption string `json:"serverSideEncryption" example:""` // The server-side encryption algorithm used when storing this object in S3. + SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. + SseKmsKeyId string `json:"sseKmsKeyId" example:""` // If using KMS ID you must provide the ARN of Key. + SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. + SseCustomerKeyBase64 string `json:"sseCustomerKeyBase64" example:""` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. + SseCustomerKeyMd5 string `json:"sseCustomerKeyMd5" example:""` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). + StorageClass string `json:"storageClass" example:""` // The storage class to use when storing new objects in S3. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + UseAccelerateEndpoint bool `json:"useAccelerateEndpoint" default:"false"` // If true use the AWS S3 accelerated endpoint. + LeavePartsOnError bool `json:"leavePartsOnError" default:"false"` // If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata + StsEndpoint string `json:"stsEndpoint"` // Endpoint for STS. } type createS3AWSStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3AWSConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1243,46 +1243,46 @@ type createS3AWSStorageRequest struct { func createS3AWSStorage() {} type s3AlibabaConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Endpoint string `example:"oss-accelerate.aliyuncs.com" json:"endpoint"` // Endpoint for OSS API. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - StorageClass string `example:"" json:"storageClass"` // The storage class to use when storing new objects in OSS. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Endpoint string `json:"endpoint" example:"oss-accelerate.aliyuncs.com"` // Endpoint for OSS API. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + StorageClass string `json:"storageClass" example:""` // The storage class to use when storing new objects in OSS. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3AlibabaStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3AlibabaConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1301,47 +1301,47 @@ type createS3AlibabaStorageRequest struct { func createS3AlibabaStorage() {} type s3ArvanCloudConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Endpoint string `example:"s3.ir-thr-at1.arvanstorage.com" json:"endpoint"` // Endpoint for Arvan Cloud Object Storage (AOS) API. - LocationConstraint string `example:"ir-thr-at1" json:"locationConstraint"` // Location constraint - must match endpoint. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - StorageClass string `example:"STANDARD" json:"storageClass"` // The storage class to use when storing new objects in ArvanCloud. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Endpoint string `json:"endpoint" example:"s3.ir-thr-at1.arvanstorage.com"` // Endpoint for Arvan Cloud Object Storage (AOS) API. + LocationConstraint string `json:"locationConstraint" example:"ir-thr-at1"` // Location constraint - must match endpoint. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + StorageClass string `json:"storageClass" example:"STANDARD"` // The storage class to use when storing new objects in ArvanCloud. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3ArvanCloudStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3ArvanCloudConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1360,53 +1360,53 @@ type createS3ArvanCloudStorageRequest struct { func createS3ArvanCloudStorage() {} type s3CephConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"" json:"region"` // Region to connect to. - Endpoint string `json:"endpoint"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - ServerSideEncryption string `example:"" json:"serverSideEncryption"` // The server-side encryption algorithm used when storing this object in S3. - SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. - SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // If using KMS ID you must provide the ARN of Key. - SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. - SseCustomerKeyBase64 string `example:"" json:"sseCustomerKeyBase64"` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. - SseCustomerKeyMd5 string `example:"" json:"sseCustomerKeyMd5"` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:""` // Region to connect to. + Endpoint string `json:"endpoint"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + ServerSideEncryption string `json:"serverSideEncryption" example:""` // The server-side encryption algorithm used when storing this object in S3. + SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. + SseKmsKeyId string `json:"sseKmsKeyId" example:""` // If using KMS ID you must provide the ARN of Key. + SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. + SseCustomerKeyBase64 string `json:"sseCustomerKeyBase64" example:""` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. + SseCustomerKeyMd5 string `json:"sseCustomerKeyMd5" example:""` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3CephStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3CephConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1425,52 +1425,52 @@ type createS3CephStorageRequest struct { func createS3CephStorage() {} type s3ChinaMobileConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Endpoint string `example:"eos-wuxi-1.cmecloud.cn" json:"endpoint"` // Endpoint for China Mobile Ecloud Elastic Object Storage (EOS) API. - LocationConstraint string `example:"wuxi1" json:"locationConstraint"` // Location constraint - must match endpoint. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - ServerSideEncryption string `example:"" json:"serverSideEncryption"` // The server-side encryption algorithm used when storing this object in S3. - SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. - SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. - SseCustomerKeyBase64 string `example:"" json:"sseCustomerKeyBase64"` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. - SseCustomerKeyMd5 string `example:"" json:"sseCustomerKeyMd5"` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). - StorageClass string `example:"" json:"storageClass"` // The storage class to use when storing new objects in ChinaMobile. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Endpoint string `json:"endpoint" example:"eos-wuxi-1.cmecloud.cn"` // Endpoint for China Mobile Ecloud Elastic Object Storage (EOS) API. + LocationConstraint string `json:"locationConstraint" example:"wuxi1"` // Location constraint - must match endpoint. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + ServerSideEncryption string `json:"serverSideEncryption" example:""` // The server-side encryption algorithm used when storing this object in S3. + SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. + SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. + SseCustomerKeyBase64 string `json:"sseCustomerKeyBase64" example:""` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. + SseCustomerKeyMd5 string `json:"sseCustomerKeyMd5" example:""` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). + StorageClass string `json:"storageClass" example:""` // The storage class to use when storing new objects in ChinaMobile. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3ChinaMobileStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3ChinaMobileConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1489,45 +1489,45 @@ type createS3ChinaMobileStorageRequest struct { func createS3ChinaMobileStorage() {} type s3CloudflareConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"auto" json:"region"` // Region to connect to. - Endpoint string `json:"endpoint"` // Endpoint for S3 API. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:"auto"` // Region to connect to. + Endpoint string `json:"endpoint"` // Endpoint for S3 API. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3CloudflareStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3CloudflareConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1546,47 +1546,47 @@ type createS3CloudflareStorageRequest struct { func createS3CloudflareStorage() {} type s3DigitalOceanConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"" json:"region"` // Region to connect to. - Endpoint string `example:"syd1.digitaloceanspaces.com" json:"endpoint"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:""` // Region to connect to. + Endpoint string `json:"endpoint" example:"syd1.digitaloceanspaces.com"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3DigitalOceanStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3DigitalOceanConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1605,47 +1605,47 @@ type createS3DigitalOceanStorageRequest struct { func createS3DigitalOceanStorage() {} type s3DreamhostConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"" json:"region"` // Region to connect to. - Endpoint string `example:"objects-us-east-1.dream.io" json:"endpoint"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:""` // Region to connect to. + Endpoint string `json:"endpoint" example:"objects-us-east-1.dream.io"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3DreamhostStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3DreamhostConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1664,46 +1664,46 @@ type createS3DreamhostStorageRequest struct { func createS3DreamhostStorage() {} type s3HuaweiOBSConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"af-south-1" json:"region"` // Region to connect to. - the location where your bucket will be created and your data stored. Need bo be same with your endpoint. - Endpoint string `example:"obs.af-south-1.myhuaweicloud.com" json:"endpoint"` // Endpoint for OBS API. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:"af-south-1"` // Region to connect to. - the location where your bucket will be created and your data stored. Need bo be same with your endpoint. + Endpoint string `json:"endpoint" example:"obs.af-south-1.myhuaweicloud.com"` // Endpoint for OBS API. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3HuaweiOBSStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3HuaweiOBSConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1722,47 +1722,47 @@ type createS3HuaweiOBSStorageRequest struct { func createS3HuaweiOBSStorage() {} type s3IBMCOSConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"" json:"region"` // Region to connect to. - Endpoint string `example:"s3.us.cloud-object-storage.appdomain.cloud" json:"endpoint"` // Endpoint for IBM COS S3 API. - LocationConstraint string `example:"us-standard" json:"locationConstraint"` // Location constraint - must match endpoint when using IBM Cloud Public. - Acl string `example:"private" json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:""` // Region to connect to. + Endpoint string `json:"endpoint" example:"s3.us.cloud-object-storage.appdomain.cloud"` // Endpoint for IBM COS S3 API. + LocationConstraint string `json:"locationConstraint" example:"us-standard"` // Location constraint - must match endpoint when using IBM Cloud Public. + Acl string `json:"acl" example:"private"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3IBMCOSStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3IBMCOSConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1781,44 +1781,44 @@ type createS3IBMCOSStorageRequest struct { func createS3IBMCOSStorage() {} type s3IDriveConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3IDriveStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3IDriveConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1837,46 +1837,46 @@ type createS3IDriveStorageRequest struct { func createS3IDriveStorage() {} type s3IONOSConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"de" json:"region"` // Region where your bucket will be created and your data stored. - Endpoint string `example:"s3-eu-central-1.ionoscloud.com" json:"endpoint"` // Endpoint for IONOS S3 Object Storage. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:"de"` // Region where your bucket will be created and your data stored. + Endpoint string `json:"endpoint" example:"s3-eu-central-1.ionoscloud.com"` // Endpoint for IONOS S3 Object Storage. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3IONOSStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3IONOSConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1895,46 +1895,46 @@ type createS3IONOSStorageRequest struct { func createS3IONOSStorage() {} type s3LiaraConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Endpoint string `example:"storage.iran.liara.space" json:"endpoint"` // Endpoint for Liara Object Storage API. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - StorageClass string `example:"STANDARD" json:"storageClass"` // The storage class to use when storing new objects in Liara - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Endpoint string `json:"endpoint" example:"storage.iran.liara.space"` // Endpoint for Liara Object Storage API. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + StorageClass string `json:"storageClass" example:"STANDARD"` // The storage class to use when storing new objects in Liara + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3LiaraStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3LiaraConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -1953,47 +1953,47 @@ type createS3LiaraStorageRequest struct { func createS3LiaraStorage() {} type s3LyveCloudConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"" json:"region"` // Region to connect to. - Endpoint string `example:"s3.us-east-1.lyvecloud.seagate.com" json:"endpoint"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:""` // Region to connect to. + Endpoint string `json:"endpoint" example:"s3.us-east-1.lyvecloud.seagate.com"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3LyveCloudStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3LyveCloudConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2012,53 +2012,53 @@ type createS3LyveCloudStorageRequest struct { func createS3LyveCloudStorage() {} type s3MinioConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"" json:"region"` // Region to connect to. - Endpoint string `json:"endpoint"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - ServerSideEncryption string `example:"" json:"serverSideEncryption"` // The server-side encryption algorithm used when storing this object in S3. - SseCustomerAlgorithm string `example:"" json:"sseCustomerAlgorithm"` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. - SseKmsKeyId string `example:"" json:"sseKmsKeyId"` // If using KMS ID you must provide the ARN of Key. - SseCustomerKey string `example:"" json:"sseCustomerKey"` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. - SseCustomerKeyBase64 string `example:"" json:"sseCustomerKeyBase64"` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. - SseCustomerKeyMd5 string `example:"" json:"sseCustomerKeyMd5"` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:""` // Region to connect to. + Endpoint string `json:"endpoint"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + ServerSideEncryption string `json:"serverSideEncryption" example:""` // The server-side encryption algorithm used when storing this object in S3. + SseCustomerAlgorithm string `json:"sseCustomerAlgorithm" example:""` // If using SSE-C, the server-side encryption algorithm used when storing this object in S3. + SseKmsKeyId string `json:"sseKmsKeyId" example:""` // If using KMS ID you must provide the ARN of Key. + SseCustomerKey string `json:"sseCustomerKey" example:""` // To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. + SseCustomerKeyBase64 string `json:"sseCustomerKeyBase64" example:""` // If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. + SseCustomerKeyMd5 string `json:"sseCustomerKeyMd5" example:""` // If using SSE-C you may provide the secret encryption key MD5 checksum (optional). + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3MinioStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3MinioConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2077,47 +2077,47 @@ type createS3MinioStorageRequest struct { func createS3MinioStorage() {} type s3NeteaseConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"" json:"region"` // Region to connect to. - Endpoint string `json:"endpoint"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:""` // Region to connect to. + Endpoint string `json:"endpoint"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3NeteaseStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3NeteaseConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2136,47 +2136,47 @@ type createS3NeteaseStorageRequest struct { func createS3NeteaseStorage() {} type s3OtherConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"" json:"region"` // Region to connect to. - Endpoint string `json:"endpoint"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:""` // Region to connect to. + Endpoint string `json:"endpoint"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3OtherStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3OtherConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2195,48 +2195,48 @@ type createS3OtherStorageRequest struct { func createS3OtherStorage() {} type s3QiniuConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"cn-east-1" json:"region"` // Region to connect to. - Endpoint string `example:"s3-cn-east-1.qiniucs.com" json:"endpoint"` // Endpoint for Qiniu Object Storage. - LocationConstraint string `example:"cn-east-1" json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - StorageClass string `example:"STANDARD" json:"storageClass"` // The storage class to use when storing new objects in Qiniu. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:"cn-east-1"` // Region to connect to. + Endpoint string `json:"endpoint" example:"s3-cn-east-1.qiniucs.com"` // Endpoint for Qiniu Object Storage. + LocationConstraint string `json:"locationConstraint" example:"cn-east-1"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + StorageClass string `json:"storageClass" example:"STANDARD"` // The storage class to use when storing new objects in Qiniu. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3QiniuStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3QiniuConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2255,47 +2255,47 @@ type createS3QiniuStorageRequest struct { func createS3QiniuStorage() {} type s3RackCorpConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"global" json:"region"` // region - the location where your bucket will be created and your data stored. - Endpoint string `example:"s3.rackcorp.com" json:"endpoint"` // Endpoint for RackCorp Object Storage. - LocationConstraint string `example:"global" json:"locationConstraint"` // Location constraint - the location where your bucket will be located and your data stored. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:"global"` // region - the location where your bucket will be created and your data stored. + Endpoint string `json:"endpoint" example:"s3.rackcorp.com"` // Endpoint for RackCorp Object Storage. + LocationConstraint string `json:"locationConstraint" example:"global"` // Location constraint - the location where your bucket will be located and your data stored. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3RackCorpStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3RackCorpConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2314,47 +2314,47 @@ type createS3RackCorpStorageRequest struct { func createS3RackCorpStorage() {} type s3ScalewayConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"nl-ams" json:"region"` // Region to connect to. - Endpoint string `example:"s3.nl-ams.scw.cloud" json:"endpoint"` // Endpoint for Scaleway Object Storage. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - StorageClass string `example:"" json:"storageClass"` // The storage class to use when storing new objects in S3. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:"nl-ams"` // Region to connect to. + Endpoint string `json:"endpoint" example:"s3.nl-ams.scw.cloud"` // Endpoint for Scaleway Object Storage. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + StorageClass string `json:"storageClass" example:""` // The storage class to use when storing new objects in S3. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3ScalewayStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3ScalewayConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2373,47 +2373,47 @@ type createS3ScalewayStorageRequest struct { func createS3ScalewayStorage() {} type s3SeaweedFSConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"" json:"region"` // Region to connect to. - Endpoint string `example:"localhost:8333" json:"endpoint"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:""` // Region to connect to. + Endpoint string `json:"endpoint" example:"localhost:8333"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3SeaweedFSStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3SeaweedFSConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2432,46 +2432,46 @@ type createS3SeaweedFSStorageRequest struct { func createS3SeaweedFSStorage() {} type s3StackPathConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"" json:"region"` // Region to connect to. - Endpoint string `example:"s3.us-east-2.stackpathstorage.com" json:"endpoint"` // Endpoint for StackPath Object Storage. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:""` // Region to connect to. + Endpoint string `json:"endpoint" example:"s3.us-east-2.stackpathstorage.com"` // Endpoint for StackPath Object Storage. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3StackPathStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3StackPathConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2490,44 +2490,44 @@ type createS3StackPathStorageRequest struct { func createS3StackPathStorage() {} type s3StorjConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Endpoint string `example:"gateway.storjshare.io" json:"endpoint"` // Endpoint for Storj Gateway. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Endpoint string `json:"endpoint" example:"gateway.storjshare.io"` // Endpoint for Storj Gateway. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3StorjStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3StorjConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2546,46 +2546,46 @@ type createS3StorjStorageRequest struct { func createS3StorjStorage() {} type s3TencentCOSConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Endpoint string `example:"cos.ap-beijing.myqcloud.com" json:"endpoint"` // Endpoint for Tencent COS API. - Acl string `example:"default" json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - StorageClass string `example:"" json:"storageClass"` // The storage class to use when storing new objects in Tencent COS. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Endpoint string `json:"endpoint" example:"cos.ap-beijing.myqcloud.com"` // Endpoint for Tencent COS API. + Acl string `json:"acl" example:"default"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + StorageClass string `json:"storageClass" example:""` // The storage class to use when storing new objects in Tencent COS. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3TencentCOSStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3TencentCOSConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2604,47 +2604,47 @@ type createS3TencentCOSStorageRequest struct { func createS3TencentCOSStorage() {} type s3WasabiConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). - AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. - SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). - Region string `example:"" json:"region"` // Region to connect to. - Endpoint string `example:"s3.wasabisys.com" json:"endpoint"` // Endpoint for S3 API. - LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. - Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. - BucketAcl string `example:"private" json:"bucketAcl"` // Canned ACL used when creating buckets. - UploadCutoff string `default:"200Mi" json:"uploadCutoff"` // Cutoff for switching to chunked upload. - ChunkSize string `default:"5Mi" json:"chunkSize"` // Chunk size to use for uploading. - MaxUploadParts int `default:"10000" json:"maxUploadParts"` // Maximum number of parts in a multipart upload. - CopyCutoff string `default:"4.656Gi" json:"copyCutoff"` // Cutoff for switching to multipart copy. - DisableChecksum bool `default:"false" json:"disableChecksum"` // Don't store MD5 checksum with object metadata. - SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. - Profile string `json:"profile"` // Profile to use in the shared credentials file. - SessionToken string `json:"sessionToken"` // An AWS session token. - UploadConcurrency int `default:"4" json:"uploadConcurrency"` // Concurrency for multipart uploads. - ForcePathStyle bool `default:"true" json:"forcePathStyle"` // If true use path style access if false use virtual hosted style. - V2Auth bool `default:"false" json:"v2Auth"` // If true use v2 authentication. - ListChunk int `default:"1000" json:"listChunk"` // Size of listing chunk (response list for each ListObject S3 request). - ListVersion int `default:"0" json:"listVersion"` // Version of ListObjects to use: 1,2 or 0 for auto. - ListUrlEncode string `default:"unset" json:"listUrlEncode"` // Whether to url encode listings: true/false/unset - NoCheckBucket bool `default:"false" json:"noCheckBucket"` // If set, don't attempt to check the bucket exists or create it. - NoHead bool `default:"false" json:"noHead"` // If set, don't HEAD uploaded objects to check integrity. - NoHeadObject bool `default:"false" json:"noHeadObject"` // If set, do not do HEAD before GET when getting objects. - Encoding string `default:"Slash,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. - MemoryPoolFlushTime string `default:"1m0s" json:"memoryPoolFlushTime"` // How often internal memory buffer pools will be flushed. - MemoryPoolUseMmap bool `default:"false" json:"memoryPoolUseMmap"` // Whether to use mmap buffers in internal memory pool. - DisableHttp2 bool `default:"false" json:"disableHttp2"` // Disable usage of http2 for S3 backends. - DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. - UseMultipartEtag string `default:"unset" json:"useMultipartEtag"` // Whether to use ETag in multipart uploads for verification - UsePresignedRequest bool `default:"false" json:"usePresignedRequest"` // Whether to use a presigned request or PutObject for single part uploads - Versions bool `default:"false" json:"versions"` // Include old versions in directory listings. - VersionAt string `default:"off" json:"versionAt"` // Show file versions as they were at the specified time. - Decompress bool `default:"false" json:"decompress"` // If set this will decompress gzip encoded objects. - MightGzip string `default:"unset" json:"mightGzip"` // Set this if the backend might gzip objects. - NoSystemMetadata bool `default:"false" json:"noSystemMetadata"` // Suppress setting and reading of system metadata + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + AccessKeyId string `json:"accessKeyId"` // AWS Access Key ID. + SecretAccessKey string `json:"secretAccessKey"` // AWS Secret Access Key (password). + Region string `json:"region" example:""` // Region to connect to. + Endpoint string `json:"endpoint" example:"s3.wasabisys.com"` // Endpoint for S3 API. + LocationConstraint string `json:"locationConstraint"` // Location constraint - must be set to match the Region. + Acl string `json:"acl"` // Canned ACL used when creating buckets and storing or copying objects. + BucketAcl string `json:"bucketAcl" example:"private"` // Canned ACL used when creating buckets. + UploadCutoff string `json:"uploadCutoff" default:"200Mi"` // Cutoff for switching to chunked upload. + ChunkSize string `json:"chunkSize" default:"5Mi"` // Chunk size to use for uploading. + MaxUploadParts int `json:"maxUploadParts" default:"10000"` // Maximum number of parts in a multipart upload. + CopyCutoff string `json:"copyCutoff" default:"4.656Gi"` // Cutoff for switching to multipart copy. + DisableChecksum bool `json:"disableChecksum" default:"false"` // Don't store MD5 checksum with object metadata. + SharedCredentialsFile string `json:"sharedCredentialsFile"` // Path to the shared credentials file. + Profile string `json:"profile"` // Profile to use in the shared credentials file. + SessionToken string `json:"sessionToken"` // An AWS session token. + UploadConcurrency int `json:"uploadConcurrency" default:"4"` // Concurrency for multipart uploads. + ForcePathStyle bool `json:"forcePathStyle" default:"true"` // If true use path style access if false use virtual hosted style. + V2Auth bool `json:"v2Auth" default:"false"` // If true use v2 authentication. + ListChunk int `json:"listChunk" default:"1000"` // Size of listing chunk (response list for each ListObject S3 request). + ListVersion int `json:"listVersion" default:"0"` // Version of ListObjects to use: 1,2 or 0 for auto. + ListUrlEncode string `json:"listUrlEncode" default:"unset"` // Whether to url encode listings: true/false/unset + NoCheckBucket bool `json:"noCheckBucket" default:"false"` // If set, don't attempt to check the bucket exists or create it. + NoHead bool `json:"noHead" default:"false"` // If set, don't HEAD uploaded objects to check integrity. + NoHeadObject bool `json:"noHeadObject" default:"false"` // If set, do not do HEAD before GET when getting objects. + Encoding string `json:"encoding" default:"Slash,InvalidUtf8,Dot"` // The encoding for the backend. + MemoryPoolFlushTime string `json:"memoryPoolFlushTime" default:"1m0s"` // How often internal memory buffer pools will be flushed. + MemoryPoolUseMmap bool `json:"memoryPoolUseMmap" default:"false"` // Whether to use mmap buffers in internal memory pool. + DisableHttp2 bool `json:"disableHttp2" default:"false"` // Disable usage of http2 for S3 backends. + DownloadUrl string `json:"downloadUrl"` // Custom endpoint for downloads. + UseMultipartEtag string `json:"useMultipartEtag" default:"unset"` // Whether to use ETag in multipart uploads for verification + UsePresignedRequest bool `json:"usePresignedRequest" default:"false"` // Whether to use a presigned request or PutObject for single part uploads + Versions bool `json:"versions" default:"false"` // Include old versions in directory listings. + VersionAt string `json:"versionAt" default:"off"` // Show file versions as they were at the specified time. + Decompress bool `json:"decompress" default:"false"` // If set this will decompress gzip encoded objects. + MightGzip string `json:"mightGzip" default:"unset"` // Set this if the backend might gzip objects. + NoSystemMetadata bool `json:"noSystemMetadata" default:"false"` // Suppress setting and reading of system metadata } type createS3WasabiStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config s3WasabiConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2663,19 +2663,19 @@ type createS3WasabiStorageRequest struct { func createS3WasabiStorage() {} type seafileConfig struct { - Url string `example:"https://cloud.seafile.com/" json:"url"` // URL of seafile host to connect to. - User string `json:"user"` // User name (usually email address). - Pass string `json:"pass"` // Password. - TwoFA bool `default:"false" json:"2fa"` // Two-factor authentication ('true' if the account has 2FA enabled). - Library string `json:"library"` // Name of the library. - LibraryKey string `json:"libraryKey"` // Library password (for encrypted libraries only). - CreateLibrary bool `default:"false" json:"createLibrary"` // Should rclone create a library if it doesn't exist. - AuthToken string `json:"authToken"` // Authentication token. - Encoding string `default:"Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8" json:"encoding"` // The encoding for the backend. + Url string `json:"url" example:"https://cloud.seafile.com/"` // URL of seafile host to connect to. + User string `json:"user"` // User name (usually email address). + Pass string `json:"pass"` // Password. + TwoFA bool `json:"2fa" default:"false"` // Two-factor authentication ('true' if the account has 2FA enabled). + Library string `json:"library"` // Name of the library. + LibraryKey string `json:"libraryKey"` // Library password (for encrypted libraries only). + CreateLibrary bool `json:"createLibrary" default:"false"` // Should rclone create a library if it doesn't exist. + AuthToken string `json:"authToken"` // Authentication token. + Encoding string `json:"encoding" default:"Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8"` // The encoding for the backend. } type createSeafileStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config seafileConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2694,41 +2694,41 @@ type createSeafileStorageRequest struct { func createSeafileStorage() {} type sftpConfig struct { - Host string `json:"host"` // SSH host to connect to. - User string `default:"$USER" json:"user"` // SSH username. - Port int `default:"22" json:"port"` // SSH port number. - Pass string `json:"pass"` // SSH password, leave blank to use ssh-agent. - KeyPem string `json:"keyPem"` // Raw PEM-encoded private key. - KeyFile string `json:"keyFile"` // Path to PEM-encoded private key file. - KeyFilePass string `json:"keyFilePass"` // The passphrase to decrypt the PEM-encoded private key file. - PubkeyFile string `json:"pubkeyFile"` // Optional path to public key file. - KnownHostsFile string `example:"~/.ssh/known_hosts" json:"knownHostsFile"` // Optional path to known_hosts file. - KeyUseAgent bool `default:"false" json:"keyUseAgent"` // When set forces the usage of the ssh-agent. - UseInsecureCipher bool `default:"false" example:"false" json:"useInsecureCipher"` // Enable the use of insecure ciphers and key exchange methods. - DisableHashcheck bool `default:"false" json:"disableHashcheck"` // Disable the execution of SSH commands to determine if remote file hashing is available. - AskPassword bool `default:"false" json:"askPassword"` // Allow asking for SFTP password when needed. - PathOverride string `json:"pathOverride"` // Override path used by SSH shell commands. - SetModtime bool `default:"true" json:"setModtime"` // Set the modified time on the remote if set. - ShellType string `example:"none" json:"shellType"` // The type of SSH shell on remote server, if any. - Md5sumCommand string `json:"md5sumCommand"` // The command used to read md5 hashes. - Sha1sumCommand string `json:"sha1sumCommand"` // The command used to read sha1 hashes. - SkipLinks bool `default:"false" json:"skipLinks"` // Set to skip any symlinks and any other non regular files. - Subsystem string `default:"sftp" json:"subsystem"` // Specifies the SSH2 subsystem on the remote host. - ServerCommand string `json:"serverCommand"` // Specifies the path or command to run a sftp server on the remote host. - UseFstat bool `default:"false" json:"useFstat"` // If set use fstat instead of stat. - DisableConcurrentReads bool `default:"false" json:"disableConcurrentReads"` // If set don't use concurrent reads. - DisableConcurrentWrites bool `default:"false" json:"disableConcurrentWrites"` // If set don't use concurrent writes. - IdleTimeout string `default:"1m0s" json:"idleTimeout"` // Max time before closing idle connections. - ChunkSize string `default:"32Ki" json:"chunkSize"` // Upload and download chunk size. - Concurrency int `default:"64" json:"concurrency"` // The maximum number of outstanding requests for one file - SetEnv string `json:"setEnv"` // Environment variables to pass to sftp and commands - Ciphers string `json:"ciphers"` // Space separated list of ciphers to be used for session encryption, ordered by preference. - KeyExchange string `json:"keyExchange"` // Space separated list of key exchange algorithms, ordered by preference. - Macs string `json:"macs"` // Space separated list of MACs (message authentication code) algorithms, ordered by preference. + Host string `json:"host"` // SSH host to connect to. + User string `json:"user" default:"$USER"` // SSH username. + Port int `json:"port" default:"22"` // SSH port number. + Pass string `json:"pass"` // SSH password, leave blank to use ssh-agent. + KeyPem string `json:"keyPem"` // Raw PEM-encoded private key. + KeyFile string `json:"keyFile"` // Path to PEM-encoded private key file. + KeyFilePass string `json:"keyFilePass"` // The passphrase to decrypt the PEM-encoded private key file. + PubkeyFile string `json:"pubkeyFile"` // Optional path to public key file. + KnownHostsFile string `json:"knownHostsFile" example:"~/.ssh/known_hosts"` // Optional path to known_hosts file. + KeyUseAgent bool `json:"keyUseAgent" default:"false"` // When set forces the usage of the ssh-agent. + UseInsecureCipher bool `json:"useInsecureCipher" default:"false" example:"false"` // Enable the use of insecure ciphers and key exchange methods. + DisableHashcheck bool `json:"disableHashcheck" default:"false"` // Disable the execution of SSH commands to determine if remote file hashing is available. + AskPassword bool `json:"askPassword" default:"false"` // Allow asking for SFTP password when needed. + PathOverride string `json:"pathOverride"` // Override path used by SSH shell commands. + SetModtime bool `json:"setModtime" default:"true"` // Set the modified time on the remote if set. + ShellType string `json:"shellType" example:"none"` // The type of SSH shell on remote server, if any. + Md5sumCommand string `json:"md5sumCommand"` // The command used to read md5 hashes. + Sha1sumCommand string `json:"sha1sumCommand"` // The command used to read sha1 hashes. + SkipLinks bool `json:"skipLinks" default:"false"` // Set to skip any symlinks and any other non regular files. + Subsystem string `json:"subsystem" default:"sftp"` // Specifies the SSH2 subsystem on the remote host. + ServerCommand string `json:"serverCommand"` // Specifies the path or command to run a sftp server on the remote host. + UseFstat bool `json:"useFstat" default:"false"` // If set use fstat instead of stat. + DisableConcurrentReads bool `json:"disableConcurrentReads" default:"false"` // If set don't use concurrent reads. + DisableConcurrentWrites bool `json:"disableConcurrentWrites" default:"false"` // If set don't use concurrent writes. + IdleTimeout string `json:"idleTimeout" default:"1m0s"` // Max time before closing idle connections. + ChunkSize string `json:"chunkSize" default:"32Ki"` // Upload and download chunk size. + Concurrency int `json:"concurrency" default:"64"` // The maximum number of outstanding requests for one file + SetEnv string `json:"setEnv"` // Environment variables to pass to sftp and commands + Ciphers string `json:"ciphers"` // Space separated list of ciphers to be used for session encryption, ordered by preference. + KeyExchange string `json:"keyExchange"` // Space separated list of key exchange algorithms, ordered by preference. + Macs string `json:"macs"` // Space separated list of MACs (message authentication code) algorithms, ordered by preference. } type createSftpStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config sftpConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2747,15 +2747,15 @@ type createSftpStorageRequest struct { func createSftpStorage() {} type sharefileConfig struct { - UploadCutoff string `default:"128Mi" json:"uploadCutoff"` // Cutoff for switching to multipart upload. - RootFolderId string `example:"" json:"rootFolderId"` // ID of the root folder. - ChunkSize string `default:"64Mi" json:"chunkSize"` // Upload chunk size. - Endpoint string `json:"endpoint"` // Endpoint for API calls. - Encoding string `default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + UploadCutoff string `json:"uploadCutoff" default:"128Mi"` // Cutoff for switching to multipart upload. + RootFolderId string `json:"rootFolderId" example:""` // ID of the root folder. + ChunkSize string `json:"chunkSize" default:"64Mi"` // Upload chunk size. + Endpoint string `json:"endpoint"` // Endpoint for API calls. + Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot"` // The encoding for the backend. } type createSharefileStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config sharefileConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2774,14 +2774,14 @@ type createSharefileStorageRequest struct { func createSharefileStorage() {} type siaConfig struct { - ApiUrl string `default:"http://127.0.0.1:9980" json:"apiUrl"` // Sia daemon API URL, like http://sia.daemon.host:9980. - ApiPassword string `json:"apiPassword"` // Sia Daemon API Password. - UserAgent string `default:"Sia-Agent" json:"userAgent"` // Siad User Agent - Encoding string `default:"Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + ApiUrl string `json:"apiUrl" default:"http://127.0.0.1:9980"` // Sia daemon API URL, like http://sia.daemon.host:9980. + ApiPassword string `json:"apiPassword"` // Sia Daemon API Password. + UserAgent string `json:"userAgent" default:"Sia-Agent"` // Siad User Agent + Encoding string `json:"encoding" default:"Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. } type createSiaStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config siaConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2800,20 +2800,20 @@ type createSiaStorageRequest struct { func createSiaStorage() {} type smbConfig struct { - Host string `json:"host"` // SMB server hostname to connect to. - User string `default:"$USER" json:"user"` // SMB username. - Port int `default:"445" json:"port"` // SMB port number. - Pass string `json:"pass"` // SMB password. - Domain string `default:"WORKGROUP" json:"domain"` // Domain name for NTLM authentication. - Spn string `json:"spn"` // Service principal name. - IdleTimeout string `default:"1m0s" json:"idleTimeout"` // Max time before closing idle connections. - HideSpecialShare bool `default:"true" json:"hideSpecialShare"` // Hide special shares (e.g. print$) which users aren't supposed to access. - CaseInsensitive bool `default:"true" json:"caseInsensitive"` // Whether the server is configured to be case-insensitive. - Encoding string `default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + Host string `json:"host"` // SMB server hostname to connect to. + User string `json:"user" default:"$USER"` // SMB username. + Port int `json:"port" default:"445"` // SMB port number. + Pass string `json:"pass"` // SMB password. + Domain string `json:"domain" default:"WORKGROUP"` // Domain name for NTLM authentication. + Spn string `json:"spn"` // Service principal name. + IdleTimeout string `json:"idleTimeout" default:"1m0s"` // Max time before closing idle connections. + HideSpecialShare bool `json:"hideSpecialShare" default:"true"` // Hide special shares (e.g. print$) which users aren't supposed to access. + CaseInsensitive bool `json:"caseInsensitive" default:"true"` // Whether the server is configured to be case-insensitive. + Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot"` // The encoding for the backend. } type createSmbStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config smbConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2836,7 +2836,7 @@ type storjExistingConfig struct { } type createStorjExistingStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config storjExistingConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2855,13 +2855,13 @@ type createStorjExistingStorageRequest struct { func createStorjExistingStorage() {} type storjNewConfig struct { - SatelliteAddress string `default:"us1.storj.io" example:"us1.storj.io" json:"satelliteAddress"` // Satellite address. + SatelliteAddress string `json:"satelliteAddress" default:"us1.storj.io" example:"us1.storj.io"` // Satellite address. ApiKey string `json:"apiKey"` // API key. Passphrase string `json:"passphrase"` // Encryption passphrase. } type createStorjNewStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config storjNewConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2880,21 +2880,21 @@ type createStorjNewStorageRequest struct { func createStorjNewStorage() {} type sugarsyncConfig struct { - AppId string `json:"appId"` // Sugarsync App ID. - AccessKeyId string `json:"accessKeyId"` // Sugarsync Access Key ID. - PrivateAccessKey string `json:"privateAccessKey"` // Sugarsync Private Access Key. - HardDelete bool `default:"false" json:"hardDelete"` // Permanently delete files if true - RefreshToken string `json:"refreshToken"` // Sugarsync refresh token. - Authorization string `json:"authorization"` // Sugarsync authorization. - AuthorizationExpiry string `json:"authorizationExpiry"` // Sugarsync authorization expiry. - User string `json:"user"` // Sugarsync user. - RootId string `json:"rootId"` // Sugarsync root id. - DeletedId string `json:"deletedId"` // Sugarsync deleted folder id. - Encoding string `default:"Slash,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + AppId string `json:"appId"` // Sugarsync App ID. + AccessKeyId string `json:"accessKeyId"` // Sugarsync Access Key ID. + PrivateAccessKey string `json:"privateAccessKey"` // Sugarsync Private Access Key. + HardDelete bool `json:"hardDelete" default:"false"` // Permanently delete files if true + RefreshToken string `json:"refreshToken"` // Sugarsync refresh token. + Authorization string `json:"authorization"` // Sugarsync authorization. + AuthorizationExpiry string `json:"authorizationExpiry"` // Sugarsync authorization expiry. + User string `json:"user"` // Sugarsync user. + RootId string `json:"rootId"` // Sugarsync root id. + DeletedId string `json:"deletedId"` // Sugarsync deleted folder id. + Encoding string `json:"encoding" default:"Slash,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. } type createSugarsyncStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config sugarsyncConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2913,33 +2913,33 @@ type createSugarsyncStorageRequest struct { func createSugarsyncStorage() {} type swiftConfig struct { - EnvAuth bool `default:"false" example:"false" json:"envAuth"` // Get swift credentials from environment variables in standard OpenStack form. - User string `json:"user"` // User name to log in (OS_USERNAME). - Key string `json:"key"` // API key or password (OS_PASSWORD). - Auth string `example:"https://auth.api.rackspacecloud.com/v1.0" json:"auth"` // Authentication URL for server (OS_AUTH_URL). - UserId string `json:"userId"` // User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID). - Domain string `json:"domain"` // User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME) - Tenant string `json:"tenant"` // Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME). - TenantId string `json:"tenantId"` // Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID). - TenantDomain string `json:"tenantDomain"` // Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME). - Region string `json:"region"` // Region name - optional (OS_REGION_NAME). - StorageUrl string `json:"storageUrl"` // Storage URL - optional (OS_STORAGE_URL). - AuthToken string `json:"authToken"` // Auth Token from alternate authentication - optional (OS_AUTH_TOKEN). - ApplicationCredentialId string `json:"applicationCredentialId"` // Application Credential ID (OS_APPLICATION_CREDENTIAL_ID). - ApplicationCredentialName string `json:"applicationCredentialName"` // Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME). - ApplicationCredentialSecret string `json:"applicationCredentialSecret"` // Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET). - AuthVersion int `default:"0" json:"authVersion"` // AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION). - EndpointType string `default:"public" example:"public" json:"endpointType"` // Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE). - LeavePartsOnError bool `default:"false" json:"leavePartsOnError"` // If true avoid calling abort upload on a failure. - StoragePolicy string `example:"" json:"storagePolicy"` // The storage policy to use when creating a new container. - ChunkSize string `default:"5Gi" json:"chunkSize"` // Above this size files will be chunked into a _segments container. - NoChunk bool `default:"false" json:"noChunk"` // Don't chunk files during streaming upload. - NoLargeObjects bool `default:"false" json:"noLargeObjects"` // Disable support for static and dynamic large objects - Encoding string `default:"Slash,InvalidUtf8" json:"encoding"` // The encoding for the backend. + EnvAuth bool `json:"envAuth" default:"false" example:"false"` // Get swift credentials from environment variables in standard OpenStack form. + User string `json:"user"` // User name to log in (OS_USERNAME). + Key string `json:"key"` // API key or password (OS_PASSWORD). + Auth string `json:"auth" example:"https://auth.api.rackspacecloud.com/v1.0"` // Authentication URL for server (OS_AUTH_URL). + UserId string `json:"userId"` // User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID). + Domain string `json:"domain"` // User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME) + Tenant string `json:"tenant"` // Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME). + TenantId string `json:"tenantId"` // Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID). + TenantDomain string `json:"tenantDomain"` // Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME). + Region string `json:"region"` // Region name - optional (OS_REGION_NAME). + StorageUrl string `json:"storageUrl"` // Storage URL - optional (OS_STORAGE_URL). + AuthToken string `json:"authToken"` // Auth Token from alternate authentication - optional (OS_AUTH_TOKEN). + ApplicationCredentialId string `json:"applicationCredentialId"` // Application Credential ID (OS_APPLICATION_CREDENTIAL_ID). + ApplicationCredentialName string `json:"applicationCredentialName"` // Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME). + ApplicationCredentialSecret string `json:"applicationCredentialSecret"` // Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET). + AuthVersion int `json:"authVersion" default:"0"` // AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION). + EndpointType string `json:"endpointType" default:"public" example:"public"` // Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE). + LeavePartsOnError bool `json:"leavePartsOnError" default:"false"` // If true avoid calling abort upload on a failure. + StoragePolicy string `json:"storagePolicy" example:""` // The storage policy to use when creating a new container. + ChunkSize string `json:"chunkSize" default:"5Gi"` // Above this size files will be chunked into a _segments container. + NoChunk bool `json:"noChunk" default:"false"` // Don't chunk files during streaming upload. + NoLargeObjects bool `json:"noLargeObjects" default:"false"` // Disable support for static and dynamic large objects + Encoding string `json:"encoding" default:"Slash,InvalidUtf8"` // The encoding for the backend. } type createSwiftStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config swiftConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2958,16 +2958,16 @@ type createSwiftStorageRequest struct { func createSwiftStorage() {} type unionConfig struct { - Upstreams string `json:"upstreams"` // List of space separated upstreams. - ActionPolicy string `default:"epall" json:"actionPolicy"` // Policy to choose upstream on ACTION category. - CreatePolicy string `default:"epmfs" json:"createPolicy"` // Policy to choose upstream on CREATE category. - SearchPolicy string `default:"ff" json:"searchPolicy"` // Policy to choose upstream on SEARCH category. - CacheTime int `default:"120" json:"cacheTime"` // Cache time of usage and free space (in seconds). - MinFreeSpace string `default:"1Gi" json:"minFreeSpace"` // Minimum viable free space for lfs/eplfs policies. + Upstreams string `json:"upstreams"` // List of space separated upstreams. + ActionPolicy string `json:"actionPolicy" default:"epall"` // Policy to choose upstream on ACTION category. + CreatePolicy string `json:"createPolicy" default:"epmfs"` // Policy to choose upstream on CREATE category. + SearchPolicy string `json:"searchPolicy" default:"ff"` // Policy to choose upstream on SEARCH category. + CacheTime int `json:"cacheTime" default:"120"` // Cache time of usage and free space (in seconds). + MinFreeSpace string `json:"minFreeSpace" default:"1Gi"` // Minimum viable free space for lfs/eplfs policies. } type createUnionStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config unionConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -2987,11 +2987,11 @@ func createUnionStorage() {} type uptoboxConfig struct { AccessToken string `json:"accessToken"` // Your access token. - Encoding string `default:"Slash,LtGt,DoubleQuote,BackQuote,Del,Ctl,LeftSpace,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + Encoding string `json:"encoding" default:"Slash,LtGt,DoubleQuote,BackQuote,Del,Ctl,LeftSpace,InvalidUtf8,Dot"` // The encoding for the backend. } type createUptoboxStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config uptoboxConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -3010,18 +3010,18 @@ type createUptoboxStorageRequest struct { func createUptoboxStorage() {} type webdavConfig struct { - Url string `json:"url"` // URL of http host to connect to. - Vendor string `example:"nextcloud" json:"vendor"` // Name of the WebDAV site/service/software you are using. - User string `json:"user"` // User name. - Pass string `json:"pass"` // Password. - BearerToken string `json:"bearerToken"` // Bearer token instead of user/pass (e.g. a Macaroon). - BearerTokenCommand string `json:"bearerTokenCommand"` // Command to run to get a bearer token. - Encoding string `json:"encoding"` // The encoding for the backend. - Headers string `json:"headers"` // Set HTTP headers for all transactions. + Url string `json:"url"` // URL of http host to connect to. + Vendor string `json:"vendor" example:"nextcloud"` // Name of the WebDAV site/service/software you are using. + User string `json:"user"` // User name. + Pass string `json:"pass"` // Password. + BearerToken string `json:"bearerToken"` // Bearer token instead of user/pass (e.g. a Macaroon). + BearerTokenCommand string `json:"bearerTokenCommand"` // Command to run to get a bearer token. + Encoding string `json:"encoding"` // The encoding for the backend. + Headers string `json:"headers"` // Set HTTP headers for all transactions. } type createWebdavStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config webdavConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -3040,17 +3040,17 @@ type createWebdavStorageRequest struct { func createWebdavStorage() {} type yandexConfig struct { - ClientId string `json:"clientId"` // OAuth Client Id. - ClientSecret string `json:"clientSecret"` // OAuth Client Secret. - Token string `json:"token"` // OAuth Access Token as a JSON blob. - AuthUrl string `json:"authUrl"` // Auth server URL. - TokenUrl string `json:"tokenUrl"` // Token server url. - HardDelete bool `default:"false" json:"hardDelete"` // Delete files permanently rather than putting them into the trash. - Encoding string `default:"Slash,Del,Ctl,InvalidUtf8,Dot" json:"encoding"` // The encoding for the backend. + ClientId string `json:"clientId"` // OAuth Client Id. + ClientSecret string `json:"clientSecret"` // OAuth Client Secret. + Token string `json:"token"` // OAuth Access Token as a JSON blob. + AuthUrl string `json:"authUrl"` // Auth server URL. + TokenUrl string `json:"tokenUrl"` // Token server url. + HardDelete bool `json:"hardDelete" default:"false"` // Delete files permanently rather than putting them into the trash. + Encoding string `json:"encoding" default:"Slash,Del,Ctl,InvalidUtf8,Dot"` // The encoding for the backend. } type createYandexStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config yandexConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client @@ -3074,12 +3074,12 @@ type zohoConfig struct { Token string `json:"token"` // OAuth Access Token as a JSON blob. AuthUrl string `json:"authUrl"` // Auth server URL. TokenUrl string `json:"tokenUrl"` // Token server url. - Region string `example:"com" json:"region"` // Zoho region to connect to. - Encoding string `default:"Del,Ctl,InvalidUtf8" json:"encoding"` // The encoding for the backend. + Region string `json:"region" example:"com"` // Zoho region to connect to. + Encoding string `json:"encoding" default:"Del,Ctl,InvalidUtf8"` // The encoding for the backend. } type createZohoStorageRequest struct { - Name string `example:"my-storage" json:"name"` // Name of the storage, must be unique + Name string `json:"name" example:"my-storage"` // Name of the storage, must be unique Path string `json:"path"` // Path of the storage Config zohoConfig `json:"config"` // config for the storage ClientConfig model.ClientConfig `json:"clientConfig"` // config for underlying HTTP client