From 82ec01e208f1fd8d9e6b188e5c919b6ef4a9cf26 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 23 Jun 2022 04:11:09 -0400 Subject: [PATCH] rgw: rewrite rgw_admin help text * The line wrapping was fairly random. * There were cases where words appeared to be doubled. - In fact one was an argument - the other was the start of the help text. Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- src/rgw/rgw_admin.cc | 706 +++++++++++++++--------------- src/test/cli/radosgw-admin/help.t | 702 +++++++++++++++-------------- 2 files changed, 688 insertions(+), 720 deletions(-) diff --git a/src/rgw/rgw_admin.cc b/src/rgw/rgw_admin.cc index d44e66c700c..04d085daee5 100644 --- a/src/rgw/rgw_admin.cc +++ b/src/rgw/rgw_admin.cc @@ -131,379 +131,363 @@ void usage() { cout << "usage: radosgw-admin [options...]" << std::endl; cout << "commands:\n"; - cout << " user create create a new user\n" ; - cout << " user modify modify user\n"; - cout << " user info get user info\n"; - cout << " user rename rename user\n"; - cout << " user rm remove user\n"; - cout << " user suspend suspend a user\n"; - cout << " user enable re-enable user after suspension\n"; - cout << " user check check user info\n"; - cout << " user stats show user stats as accounted by quota subsystem\n"; - cout << " user list list users\n"; - cout << " caps add add user capabilities\n"; - cout << " caps rm remove user capabilities\n"; - cout << " subuser create create a new subuser\n" ; - cout << " subuser modify modify subuser\n"; - cout << " subuser rm remove subuser\n"; - cout << " key create create access key\n"; - cout << " key rm remove access key\n"; - cout << " bucket list list buckets (specify --allow-unordered for\n"; - cout << " faster, unsorted listing)\n"; - cout << " bucket limit check show bucket sharding stats\n"; - cout << " bucket link link bucket to specified user\n"; - cout << " bucket unlink unlink bucket from specified user\n"; - cout << " bucket stats returns bucket statistics\n"; - cout << " bucket rm remove bucket\n"; - cout << " bucket check check bucket index by verifying size and object count stats\n"; - cout << " bucket check olh check for olh index entries and objects that are pending removal\n"; - cout << " bucket check unlinked check for object versions that are not visible in a bucket listing \n"; - cout << " bucket chown link bucket to specified user and update its object ACLs\n"; - cout << " bucket reshard reshard bucket\n"; - cout << " bucket rewrite rewrite all objects in the specified bucket\n"; - cout << " bucket sync checkpoint poll a bucket's sync status until it catches up to its remote\n"; - cout << " bucket sync disable disable bucket sync\n"; - cout << " bucket sync enable enable bucket sync\n"; - cout << " bucket radoslist list rados objects backing bucket's objects\n"; - cout << " bi get retrieve bucket index object entries\n"; - cout << " bi put store bucket index object entries\n"; - cout << " bi list list raw bucket index entries\n"; - cout << " bi purge purge bucket index entries\n"; - cout << " object rm remove object\n"; - cout << " object put put object\n"; - cout << " object stat stat an object for its metadata\n"; - cout << " object unlink unlink object from bucket index\n"; - cout << " object rewrite rewrite the specified object\n"; - cout << " object reindex reindex the object(s) indicated by --bucket and either --object or --objects-file\n"; - cout << " objects expire run expired objects cleanup\n"; - cout << " objects expire-stale list list stale expired objects (caused by reshard)\n"; - cout << " objects expire-stale rm remove stale expired objects\n"; - cout << " period rm remove a period\n"; - cout << " period get get period info\n"; - cout << " period get-current get current period info\n"; - cout << " period pull pull a period\n"; - cout << " period push push a period\n"; - cout << " period list list all periods\n"; - cout << " period update update the staging period\n"; - cout << " period commit commit the staging period\n"; - cout << " quota set set quota params\n"; - cout << " quota enable enable quota\n"; - cout << " quota disable disable quota\n"; - cout << " ratelimit get get ratelimit params\n"; - cout << " ratelimit set set ratelimit params\n"; - cout << " ratelimit enable enable ratelimit\n"; - cout << " ratelimit disable disable ratelimit\n"; - cout << " global quota get view global quota params\n"; - cout << " global quota set set global quota params\n"; - cout << " global quota enable enable a global quota\n"; - cout << " global quota disable disable a global quota\n"; - cout << " global ratelimit get view global ratelimit params\n"; - cout << " global ratelimit set set global ratelimit params\n"; - cout << " global ratelimit enable enable a ratelimit quota\n"; - cout << " global ratelimit disable disable a ratelimit quota\n"; - cout << " realm create create a new realm\n"; - cout << " realm rm remove a realm\n"; - cout << " realm get show realm info\n"; - cout << " realm get-default get default realm name\n"; - cout << " realm list list realms\n"; - cout << " realm list-periods list all realm periods\n"; - cout << " realm rename rename a realm\n"; - cout << " realm set set realm info (requires infile)\n"; - cout << " realm default set realm as default\n"; - cout << " realm pull pull a realm and its current period\n"; - cout << " zonegroup add add a zone to a zonegroup\n"; - cout << " zonegroup create create a new zone group info\n"; - cout << " zonegroup default set default zone group\n"; - cout << " zonegroup delete delete a zone group info\n"; - cout << " zonegroup get show zone group info\n"; - cout << " zonegroup modify modify an existing zonegroup\n"; - cout << " zonegroup set set zone group info (requires infile)\n"; - cout << " zonegroup rm remove a zone from a zonegroup\n"; - cout << " zonegroup rename rename a zone group\n"; - cout << " zonegroup list list all zone groups set on this cluster\n"; - cout << " zonegroup placement list list zonegroup's placement targets\n"; - cout << " zonegroup placement get get a placement target of a specific zonegroup\n"; - cout << " zonegroup placement add add a placement target id to a zonegroup\n"; - cout << " zonegroup placement modify modify a placement target of a specific zonegroup\n"; - cout << " zonegroup placement rm remove a placement target from a zonegroup\n"; - cout << " zonegroup placement default set a zonegroup's default placement target\n"; - cout << " zone create create a new zone\n"; - cout << " zone rm remove a zone\n"; - cout << " zone get show zone cluster params\n"; - cout << " zone modify modify an existing zone\n"; - cout << " zone set set zone cluster params (requires infile)\n"; - cout << " zone list list all zones set on this cluster\n"; - cout << " zone rename rename a zone\n"; - cout << " zone placement list list zone's placement targets\n"; - cout << " zone placement get get a zone placement target\n"; - cout << " zone placement add add a zone placement target\n"; - cout << " zone placement modify modify a zone placement target\n"; - cout << " zone placement rm remove a zone placement target\n"; - cout << " metadata sync status get metadata sync status\n"; - cout << " metadata sync init init metadata sync\n"; - cout << " metadata sync run run metadata sync\n"; - cout << " data sync status get data sync status of the specified source zone\n"; - cout << " data sync init init data sync for the specified source zone\n"; - cout << " data sync run run data sync for the specified source zone\n"; - cout << " pool add add an existing pool for data placement\n"; - cout << " pool rm remove an existing pool from data placement set\n"; - cout << " pools list list placement active set\n"; - cout << " policy read bucket/object policy\n"; - cout << " log list list log objects\n"; - cout << " log show dump a log from specific object or (bucket + date\n"; - cout << " + bucket-id)\n"; - cout << " (NOTE: required to specify formatting of date\n"; - cout << " to \"YYYY-MM-DD-hh\")\n"; - cout << " log rm remove log object\n"; - cout << " usage show show usage (by user, by bucket, date range)\n"; - cout << " usage trim trim usage (by user, by bucket, date range)\n"; - cout << " usage clear reset all the usage stats for the cluster\n"; - cout << " gc list dump expired garbage collection objects (specify\n"; - cout << " --include-all to list all entries, including unexpired)\n"; - cout << " gc process manually process garbage (specify\n"; - cout << " --include-all to process all entries, including unexpired)\n"; - cout << " lc list list all bucket lifecycle progress\n"; - cout << " lc get get a lifecycle bucket configuration\n"; - cout << " lc process manually process lifecycle\n"; - cout << " lc reshard fix fix LC for a resharded bucket\n"; - cout << " metadata get get metadata info\n"; - cout << " metadata put put metadata info\n"; - cout << " metadata rm remove metadata info\n"; - cout << " metadata list list metadata info\n"; - cout << " mdlog list list metadata log\n"; - cout << " mdlog autotrim auto trim metadata log\n"; - cout << " mdlog trim trim metadata log (use marker)\n"; - cout << " mdlog status read metadata log status\n"; - cout << " bilog list list bucket index log\n"; - cout << " bilog trim trim bucket index log (use start-marker, end-marker)\n"; - cout << " bilog status read bucket index log status\n"; - cout << " bilog autotrim auto trim bucket index log\n"; - cout << " datalog list list data log\n"; - cout << " datalog trim trim data log\n"; - cout << " datalog status read data log status\n"; - cout << " datalog type change datalog type to --log_type={fifo,omap}\n"; - cout << " orphans find deprecated -- init and run search for leaked rados objects (use job-id, pool)\n"; - cout << " orphans finish deprecated -- clean up search for leaked rados objects\n"; - cout << " orphans list-jobs deprecated -- list the current job-ids for orphans search\n"; - cout << " * the three 'orphans' sub-commands are now deprecated; consider using the `rgw-orphan-list` tool\n"; - cout << " role create create a AWS role for use with STS\n"; - cout << " role delete remove a role\n"; - cout << " role get get a role\n"; - cout << " role list list roles with specified path prefix\n"; - cout << " role-trust-policy modify modify the assume role policy of an existing role\n"; - cout << " role-policy put add/update permission policy to role\n"; - cout << " role-policy list list policies attached to a role\n"; - cout << " role-policy get get the specified inline policy document embedded with the given role\n"; - cout << " role-policy delete remove policy attached to a role\n"; - cout << " role update update max_session_duration of a role\n"; - cout << " reshard add schedule a resharding of a bucket\n"; - cout << " reshard list list all bucket resharding or scheduled to be resharded\n"; - cout << " reshard status read bucket resharding status\n"; - cout << " reshard process process of scheduled reshard jobs\n"; - cout << " reshard cancel cancel resharding a bucket\n"; - cout << " reshard stale-instances list list stale-instances from bucket resharding\n"; + cout << " user create create a new user\n" ; + cout << " user modify modify user\n"; + cout << " user info get user info\n"; + cout << " user rename rename user\n"; + cout << " user rm remove user\n"; + cout << " user suspend suspend a user\n"; + cout << " user enable re-enable user after suspension\n"; + cout << " user check check user info\n"; + cout << " user stats show user stats as accounted by quota subsystem\n"; + cout << " user list list users\n"; + cout << " caps add add user capabilities\n"; + cout << " caps rm remove user capabilities\n"; + cout << " subuser create create a new subuser\n" ; + cout << " subuser modify modify subuser\n"; + cout << " subuser rm remove subuser\n"; + cout << " key create create access key\n"; + cout << " key rm remove access key\n"; + cout << " bucket list list buckets (specify --allow-unordered for faster, unsorted listing)\n"; + cout << " bucket limit check show bucket sharding stats\n"; + cout << " bucket link link bucket to specified user\n"; + cout << " bucket unlink unlink bucket from specified user\n"; + cout << " bucket stats returns bucket statistics\n"; + cout << " bucket rm remove bucket\n"; + cout << " bucket check check bucket index by verifying size and object count stats\n"; + cout << " bucket check olh check for olh index entries and objects that are pending removal\n"; + cout << " bucket check unlinked check for object versions that are not visible in a bucket listing \n"; + cout << " bucket chown link bucket to specified user and update its object ACLs\n"; + cout << " bucket reshard reshard bucket\n"; + cout << " bucket rewrite rewrite all objects in the specified bucket\n"; + cout << " bucket sync checkpoint poll a bucket's sync status until it catches up to its remote\n"; + cout << " bucket sync disable disable bucket sync\n"; + cout << " bucket sync enable enable bucket sync\n"; + cout << " bucket radoslist list rados objects backing bucket's objects\n"; + cout << " bi get retrieve bucket index object entries\n"; + cout << " bi put store bucket index object entries\n"; + cout << " bi list list raw bucket index entries\n"; + cout << " bi purge purge bucket index entries\n"; + cout << " object rm remove object\n"; + cout << " object put put object\n"; + cout << " object stat stat an object for its metadata\n"; + cout << " object unlink unlink object from bucket index\n"; + cout << " object rewrite rewrite the specified object\n"; + cout << " object reindex reindex the object(s) indicated by --bucket and either --object or --objects-file\n"; + cout << " objects expire run expired objects cleanup\n"; + cout << " objects expire-stale list list stale expired objects (caused by reshard)\n"; + cout << " objects expire-stale rm remove stale expired objects\n"; + cout << " period rm remove a period\n"; + cout << " period get get period info\n"; + cout << " period get-current get current period info\n"; + cout << " period pull pull a period\n"; + cout << " period push push a period\n"; + cout << " period list list all periods\n"; + cout << " period update update the staging period\n"; + cout << " period commit commit the staging period\n"; + cout << " quota set set quota params\n"; + cout << " quota enable enable quota\n"; + cout << " quota disable disable quota\n"; + cout << " ratelimit get get ratelimit params\n"; + cout << " ratelimit set set ratelimit params\n"; + cout << " ratelimit enable enable ratelimit\n"; + cout << " ratelimit disable disable ratelimit\n"; + cout << " global quota get view global quota params\n"; + cout << " global quota set set global quota params\n"; + cout << " global quota enable enable a global quota\n"; + cout << " global quota disable disable a global quota\n"; + cout << " global ratelimit get view global ratelimit params\n"; + cout << " global ratelimit set set global ratelimit params\n"; + cout << " global ratelimit enable enable a ratelimit quota\n"; + cout << " global ratelimit disable disable a ratelimit quota\n"; + cout << " realm create create a new realm\n"; + cout << " realm rm remove a realm\n"; + cout << " realm get show realm info\n"; + cout << " realm get-default get default realm name\n"; + cout << " realm list list realms\n"; + cout << " realm list-periods list all realm periods\n"; + cout << " realm rename rename a realm\n"; + cout << " realm set set realm info (requires infile)\n"; + cout << " realm default set realm as default\n"; + cout << " realm pull pull a realm and its current period\n"; + cout << " zonegroup add add a zone to a zonegroup\n"; + cout << " zonegroup create create a new zone group info\n"; + cout << " zonegroup default set default zone group\n"; + cout << " zonegroup delete delete a zone group info\n"; + cout << " zonegroup get show zone group info\n"; + cout << " zonegroup modify modify an existing zonegroup\n"; + cout << " zonegroup set set zone group info (requires infile)\n"; + cout << " zonegroup rm remove a zone from a zonegroup\n"; + cout << " zonegroup rename rename a zone group\n"; + cout << " zonegroup list list all zone groups set on this cluster\n"; + cout << " zonegroup placement list list zonegroup's placement targets\n"; + cout << " zonegroup placement get get a placement target of a specific zonegroup\n"; + cout << " zonegroup placement add add a placement target id to a zonegroup\n"; + cout << " zonegroup placement modify modify a placement target of a specific zonegroup\n"; + cout << " zonegroup placement rm remove a placement target from a zonegroup\n"; + cout << " zonegroup placement default set a zonegroup's default placement target\n"; + cout << " zone create create a new zone\n"; + cout << " zone rm remove a zone\n"; + cout << " zone get show zone cluster params\n"; + cout << " zone modify modify an existing zone\n"; + cout << " zone set set zone cluster params (requires infile)\n"; + cout << " zone list list all zones set on this cluster\n"; + cout << " zone rename rename a zone\n"; + cout << " zone placement list list zone's placement targets\n"; + cout << " zone placement get get a zone placement target\n"; + cout << " zone placement add add a zone placement target\n"; + cout << " zone placement modify modify a zone placement target\n"; + cout << " zone placement rm remove a zone placement target\n"; + cout << " metadata sync status get metadata sync status\n"; + cout << " metadata sync init init metadata sync\n"; + cout << " metadata sync run run metadata sync\n"; + cout << " data sync status get data sync status of the specified source zone\n"; + cout << " data sync init init data sync for the specified source zone\n"; + cout << " data sync run run data sync for the specified source zone\n"; + cout << " pool add add an existing pool for data placement\n"; + cout << " pool rm remove an existing pool from data placement set\n"; + cout << " pools list list placement active set\n"; + cout << " policy read bucket/object policy\n"; + cout << " log list list log objects\n"; + cout << " log show dump a log from specific object or (bucket + date + bucket-id)\n"; + cout << " (NOTE: required to specify formatting of date to \"YYYY-MM-DD-hh\")\n"; + cout << " log rm remove log object\n"; + cout << " usage show show usage (by user, by bucket, date range)\n"; + cout << " usage trim trim usage (by user, by bucket, date range)\n"; + cout << " usage clear reset all the usage stats for the cluster\n"; + cout << " gc list dump expired garbage collection objects (specify\n"; + cout << " --include-all to list all entries, including unexpired)\n"; + cout << " gc process manually process garbage (specify\n"; + cout << " --include-all to process all entries, including unexpired)\n"; + cout << " lc list list all bucket lifecycle progress\n"; + cout << " lc get get a lifecycle bucket configuration\n"; + cout << " lc process manually process lifecycle\n"; + cout << " lc reshard fix fix LC for a resharded bucket\n"; + cout << " metadata get get metadata info\n"; + cout << " metadata put put metadata info\n"; + cout << " metadata rm remove metadata info\n"; + cout << " metadata list list metadata info\n"; + cout << " mdlog list list metadata log\n"; + cout << " mdlog autotrim auto trim metadata log\n"; + cout << " mdlog trim trim metadata log (use marker)\n"; + cout << " mdlog status read metadata log status\n"; + cout << " bilog list list bucket index log\n"; + cout << " bilog trim trim bucket index log (use start-marker, end-marker)\n"; + cout << " bilog status read bucket index log status\n"; + cout << " bilog autotrim auto trim bucket index log\n"; + cout << " datalog list list data log\n"; + cout << " datalog trim trim data log\n"; + cout << " datalog status read data log status\n"; + cout << " datalog type change datalog type to --log_type={fifo,omap}\n"; + cout << " orphans find deprecated -- init and run search for leaked rados objects (use job-id, pool)\n"; + cout << " orphans finish deprecated -- clean up search for leaked rados objects\n"; + cout << " orphans list-jobs deprecated -- list the current job-ids for orphans search\n"; + cout << " * the three 'orphans' sub-commands are now deprecated; consider using the `rgw-orphan-list` tool\n"; + cout << " role create create a AWS role for use with STS\n"; + cout << " role delete remove a role\n"; + cout << " role get get a role\n"; + cout << " role list list roles with specified path prefix\n"; + cout << " role-trust-policy modify modify the assume role policy of an existing role\n"; + cout << " role-policy put add/update permission policy to role\n"; + cout << " role-policy list list policies attached to a role\n"; + cout << " role-policy get get the specified inline policy document embedded with the given role\n"; + cout << " role-policy delete remove policy attached to a role\n"; + cout << " role update update max_session_duration of a role\n"; + cout << " reshard add schedule a resharding of a bucket\n"; + cout << " reshard list list all bucket resharding or scheduled to be resharded\n"; + cout << " reshard status read bucket resharding status\n"; + cout << " reshard process process of scheduled reshard jobs\n"; + cout << " reshard cancel cancel resharding a bucket\n"; + cout << " reshard stale-instances list list stale-instances from bucket resharding\n"; cout << " reshard stale-instances delete cleanup stale-instances from bucket resharding\n"; - cout << " sync error list list sync error\n"; - cout << " sync error trim trim sync error\n"; - cout << " mfa create create a new MFA TOTP token\n"; - cout << " mfa list list MFA TOTP tokens\n"; - cout << " mfa get show MFA TOTP token\n"; - cout << " mfa remove delete MFA TOTP token\n"; - cout << " mfa check check MFA TOTP token\n"; - cout << " mfa resync re-sync MFA TOTP token\n"; - cout << " topic list list bucket notifications topics\n"; - cout << " topic get get a bucket notifications topic\n"; - cout << " topic rm remove a bucket notifications topic\n"; - cout << " topic stats get a bucket notifications persistent topic stats (i.e. reservations, entries & size)\n"; - cout << " script put upload a Lua script to a context\n"; - cout << " script get get the Lua script of a context\n"; - cout << " script rm remove the Lua scripts of a context\n"; - cout << " script-package add add a Lua package to the scripts allowlist\n"; - cout << " script-package rm remove a Lua package from the scripts allowlist\n"; - cout << " script-package list get the Lua packages allowlist\n"; - cout << " script-package reload install/remove Lua packages according to allowlist\n"; - cout << " notification list list bucket notifications configuration\n"; - cout << " notification get get a bucket notifications configuration\n"; - cout << " notification rm remove a bucket notifications configuration\n"; + cout << " sync error list list sync error\n"; + cout << " sync error trim trim sync error\n"; + cout << " mfa create create a new MFA TOTP token\n"; + cout << " mfa list list MFA TOTP tokens\n"; + cout << " mfa get show MFA TOTP token\n"; + cout << " mfa remove delete MFA TOTP token\n"; + cout << " mfa check check MFA TOTP token\n"; + cout << " mfa resync re-sync MFA TOTP token\n"; + cout << " topic list list bucket notifications topics\n"; + cout << " topic get get a bucket notifications topic\n"; + cout << " topic rm remove a bucket notifications topic\n"; + cout << " topic stats get a bucket notifications persistent topic stats (i.e. reservations, entries & size)\n"; + cout << " script put upload a Lua script to a context\n"; + cout << " script get get the Lua script of a context\n"; + cout << " script rm remove the Lua scripts of a context\n"; + cout << " script-package add add a Lua package to the scripts allowlist\n"; + cout << " script-package rm remove a Lua package from the scripts allowlist\n"; + cout << " script-package list get the Lua packages allowlist\n"; + cout << " script-package reload install/remove Lua packages according to allowlist\n"; + cout << " notification list list bucket notifications configuration\n"; + cout << " notification get get a bucket notifications configuration\n"; + cout << " notification rm remove a bucket notifications configuration\n"; cout << "options:\n"; - cout << " --tenant= tenant name\n"; - cout << " --user_ns= namespace of user (oidc in case of users authenticated with oidc provider)\n"; - cout << " --uid= user id\n"; - cout << " --new-uid= new user id\n"; - cout << " --subuser= subuser name\n"; - cout << " --access-key= S3 access key\n"; - cout << " --email= user's email address\n"; - cout << " --secret/--secret-key=\n"; - cout << " specify secret key\n"; - cout << " --gen-access-key generate random access key (for S3)\n"; - cout << " --gen-secret generate random secret key\n"; - cout << " --key-type= key type, options are: swift, s3\n"; - cout << " --temp-url-key[-2]= temp url key\n"; - cout << " --access= Set access permissions for sub-user, should be one\n"; - cout << " of read, write, readwrite, full\n"; - cout << " --display-name= user's display name\n"; - cout << " --max-buckets max number of buckets for a user\n"; - cout << " --admin set the admin flag on the user\n"; - cout << " --system set the system flag on the user\n"; - cout << " --op-mask set the op mask on the user\n"; - cout << " --bucket= Specify the bucket name. Also used by the quota command.\n"; - cout << " --pool= Specify the pool name. Also used to scan for leaked rados objects.\n"; - cout << " --object= object name\n"; - cout << " --objects-file= file containing a list of object names to process\n"; - cout << " --object-version= object version\n"; - cout << " --date= date in the format yyyy-mm-dd\n"; - cout << " --start-date= start date in the format yyyy-mm-dd\n"; - cout << " --end-date= end date in the format yyyy-mm-dd\n"; - cout << " --bucket-id= bucket id\n"; - cout << " --bucket-new-name=\n"; - cout << " for bucket link: optional new name\n"; - cout << " --shard-id= optional for: \n"; - cout << " mdlog list\n"; - cout << " data sync status\n"; - cout << " required for: \n"; - cout << " mdlog trim\n"; - cout << " --gen= optional for: \n"; - cout << " bilog list\n"; - cout << " bilog trim\n"; - cout << " bilog status\n"; - cout << " --max-entries= max entries for listing operations\n"; - cout << " --metadata-key= key to retrieve metadata from with metadata get\n"; - cout << " --remote= zone or zonegroup id of remote gateway\n"; - cout << " --period= period id\n"; - cout << " --url= url for pushing/pulling period/realm\n"; - cout << " --epoch= period epoch\n"; - cout << " --commit commit the period during 'period update'\n"; - cout << " --staging get staging period info\n"; - cout << " --master set as master\n"; - cout << " --master-zone= master zone id\n"; - cout << " --rgw-realm= realm name\n"; - cout << " --realm-id= realm id\n"; - cout << " --realm-new-name= realm new name\n"; - cout << " --rgw-zonegroup= zonegroup name\n"; - cout << " --zonegroup-id= zonegroup id\n"; - cout << " --zonegroup-new-name=\n"; - cout << " zonegroup new name\n"; - cout << " --rgw-zone= name of zone in which radosgw is running\n"; - cout << " --zone-id= zone id\n"; - cout << " --zone-new-name= zone new name\n"; - cout << " --source-zone specify the source zone (for data sync)\n"; - cout << " --default set entity (realm, zonegroup, zone) as default\n"; - cout << " --read-only set zone as read-only (when adding to zonegroup)\n"; - cout << " --redirect-zone specify zone id to redirect when response is 404 (not found)\n"; - cout << " --placement-id placement id for zonegroup placement commands\n"; - cout << " --storage-class storage class for zonegroup placement commands\n"; - cout << " --tags= list of tags for zonegroup placement add and modify commands\n"; - cout << " --tags-add= list of tags to add for zonegroup placement modify command\n"; - cout << " --tags-rm= list of tags to remove for zonegroup placement modify command\n"; - cout << " --endpoints= zone endpoints\n"; - cout << " --index-pool= placement target index pool\n"; - cout << " --data-pool= placement target data pool\n"; - cout << " --data-extra-pool= placement target data extra (non-ec) pool\n"; - cout << " --placement-index-type=\n"; - cout << " placement target index type (normal, indexless, or #id)\n"; - cout << " --placement-inline-data=\n"; - cout << " set whether the placement target is configured to store a data\n"; - cout << " chunk inline in head objects\n"; - cout << " --compression= placement target compression type (plugin name or empty/none)\n"; - cout << " --tier-type= zone tier type\n"; - cout << " --tier-config==[,...]\n"; - cout << " set zone tier config keys, values\n"; - cout << " --tier-config-rm=[,...]\n"; - cout << " unset zone tier config keys\n"; - cout << " --sync-from-all[=false] set/reset whether zone syncs from all zonegroup peers\n"; - cout << " --sync-from=[zone-name][,...]\n"; - cout << " set list of zones to sync from\n"; - cout << " --sync-from-rm=[zone-name][,...]\n"; - cout << " remove zones from list of zones to sync from\n"; - cout << " --bucket-index-max-shards override a zone/zonegroup's default bucket index shard count\n"; - cout << " --fix besides checking bucket index, will also fix it\n"; - cout << " --check-objects bucket check: rebuilds bucket index according to\n"; - cout << " actual objects state\n"; - cout << " --format= specify output format for certain operations: xml,\n"; - cout << " json\n"; - cout << " --purge-data when specified, user removal will also purge all the\n"; - cout << " user data\n"; - cout << " --purge-keys when specified, subuser removal will also purge all the\n"; - cout << " subuser keys\n"; - cout << " --purge-objects remove a bucket's objects before deleting it\n"; - cout << " (NOTE: required to delete a non-empty bucket)\n"; - cout << " --sync-stats option to 'user stats', update user stats with current\n"; - cout << " stats reported by user's buckets indexes\n"; - cout << " --reset-stats option to 'user stats', reset stats in accordance with user buckets\n"; - cout << " --show-config show configuration\n"; - cout << " --show-log-entries= enable/disable dump of log entries on log show\n"; - cout << " --show-log-sum= enable/disable dump of log summation on log show\n"; - cout << " --skip-zero-entries log show only dumps entries that don't have zero value\n"; - cout << " in one of the numeric field\n"; - cout << " --infile= file to read in when setting data\n"; - cout << " --categories= comma separated list of categories, used in usage show\n"; - cout << " --caps= list of caps (e.g., \"usage=read, write; user=read\")\n"; - cout << " --op-mask= permission of user's operations (e.g., \"read, write, delete, *\")\n"; - cout << " --yes-i-really-mean-it required for certain operations\n"; - cout << " --warnings-only when specified with bucket limit check, list\n"; - cout << " only buckets nearing or over the current max\n"; - cout << " objects per shard value\n"; - cout << " --bypass-gc when specified with bucket deletion, triggers\n"; - cout << " object deletions by not involving GC\n"; - cout << " --inconsistent-index when specified with bucket deletion and bypass-gc set to true,\n"; - cout << " ignores bucket index consistency\n"; - cout << " --min-rewrite-size min object size for bucket rewrite (default 4M)\n"; - cout << " --max-rewrite-size max object size for bucket rewrite (default ULLONG_MAX)\n"; - cout << " --min-rewrite-stripe-size min stripe size for object rewrite (default 0)\n"; - cout << " --trim-delay-ms time interval in msec to limit the frequency of sync error log entries trimming operations,\n"; - cout << " the trimming process will sleep the specified msec for every 1000 entries trimmed\n"; - cout << " --max-concurrent-ios maximum concurrent ios for bucket operations (default: 32)\n"; - cout << " --enable-feature enable a zone/zonegroup feature\n"; - cout << " --disable-feature disable a zone/zonegroup feature\n"; + cout << " --tenant= tenant name\n"; + cout << " --user_ns= namespace of user (oidc in case of users authenticated with oidc provider)\n"; + cout << " --uid= user id\n"; + cout << " --new-uid= new user id\n"; + cout << " --subuser= subuser name\n"; + cout << " --access-key= S3 access key\n"; + cout << " --email= user's email address\n"; + cout << " --secret/--secret-key= specify secret key\n"; + cout << " --gen-access-key generate random access key (for S3)\n"; + cout << " --gen-secret generate random secret key\n"; + cout << " --key-type= key type, options are: swift, s3\n"; + cout << " --temp-url-key[-2]= temp url key\n"; + cout << " --access= Set access permissions for sub-user, should be one\n"; + cout << " of read, write, readwrite, full\n"; + cout << " --display-name= user's display name\n"; + cout << " --max-buckets max number of buckets for a user\n"; + cout << " --admin set the admin flag on the user\n"; + cout << " --system set the system flag on the user\n"; + cout << " --op-mask set the op mask on the user\n"; + cout << " --bucket= Specify the bucket name. Also used by the quota command.\n"; + cout << " --pool= Specify the pool name. Also used to scan for leaked rados objects.\n"; + cout << " --object= object name\n"; + cout << " --objects-file= file containing a list of object names to process\n"; + cout << " --object-version= object version\n"; + cout << " --date= date in the format yyyy-mm-dd\n"; + cout << " --start-date= start date in the format yyyy-mm-dd\n"; + cout << " --end-date= end date in the format yyyy-mm-dd\n"; + cout << " --bucket-id= bucket id\n"; + cout << " --bucket-new-name= for bucket link: optional new name\n"; + cout << " --shard-id= optional for:\n"; + cout << " mdlog list\n"; + cout << " data sync status\n"; + cout << " required for:\n"; + cout << " mdlog trim\n"; + cout << " --gen= optional for:\n"; + cout << " bilog list\n"; + cout << " bilog trim\n"; + cout << " bilog status\n"; + cout << " --max-entries= max entries for listing operations\n"; + cout << " --metadata-key= key to retrieve metadata from with metadata get\n"; + cout << " --remote= zone or zonegroup id of remote gateway\n"; + cout << " --period= period id\n"; + cout << " --url= url for pushing/pulling period/realm\n"; + cout << " --epoch= period epoch\n"; + cout << " --commit commit the period during 'period update'\n"; + cout << " --staging get staging period info\n"; + cout << " --master set as master\n"; + cout << " --master-zone= master zone id\n"; + cout << " --rgw-realm= realm name\n"; + cout << " --realm-id= realm id\n"; + cout << " --realm-new-name= realm new name\n"; + cout << " --rgw-zonegroup= zonegroup name\n"; + cout << " --zonegroup-id= zonegroup id\n"; + cout << " --zonegroup-new-name= zonegroup new name\n"; + cout << " --rgw-zone= name of zone in which radosgw is running\n"; + cout << " --zone-id= zone id\n"; + cout << " --zone-new-name= zone new name\n"; + cout << " --source-zone specify the source zone (for data sync)\n"; + cout << " --default set entity (realm, zonegroup, zone) as default\n"; + cout << " --read-only set zone as read-only (when adding to zonegroup)\n"; + cout << " --redirect-zone specify zone id to redirect when response is 404 (not found)\n"; + cout << " --placement-id placement id for zonegroup placement commands\n"; + cout << " --storage-class storage class for zonegroup placement commands\n"; + cout << " --tags= list of tags for zonegroup placement add and modify commands\n"; + cout << " --tags-add= list of tags to add for zonegroup placement modify command\n"; + cout << " --tags-rm= list of tags to remove for zonegroup placement modify command\n"; + cout << " --endpoints= zone endpoints\n"; + cout << " --index-pool= placement target index pool\n"; + cout << " --data-pool= placement target data pool\n"; + cout << " --data-extra-pool= placement target data extra (non-ec) pool\n"; + cout << " --placement-index-type= placement target index type (normal, indexless, or #id)\n"; + cout << " --placement-inline-data= set whether the placement target is configured to store a data\n"; + cout << " chunk inline in head objects\n"; + cout << " --compression= placement target compression type (plugin name or empty/none)\n"; + cout << " --tier-type= zone tier type\n"; + cout << " --tier-config==[,...] set zone tier config keys, values\n"; + cout << " --tier-config-rm=[,...] unset zone tier config keys\n"; + cout << " --sync-from-all[=false] set/reset whether zone syncs from all zonegroup peers\n"; + cout << " --sync-from=[zone-name][,...] set list of zones to sync from\n"; + cout << " --sync-from-rm=[zone-name][,...] remove zones from list of zones to sync from\n"; + cout << " --bucket-index-max-shards override a zone/zonegroup's default bucket index shard count\n"; + cout << " --fix besides checking bucket index, will also fix it\n"; + cout << " --check-objects bucket check: rebuilds bucket index according to actual objects state\n"; + cout << " --format= specify output format for certain operations: xml, json\n"; + cout << " --purge-data when specified, user removal will also purge all the\n"; + cout << " user data\n"; + cout << " --purge-keys when specified, subuser removal will also purge all the\n"; + cout << " subuser keys\n"; + cout << " --purge-objects remove a bucket's objects before deleting it\n"; + cout << " (NOTE: required to delete a non-empty bucket)\n"; + cout << " --sync-stats option to 'user stats', update user stats with current\n"; + cout << " stats reported by user's buckets indexes\n"; + cout << " --reset-stats option to 'user stats', reset stats in accordance with user buckets\n"; + cout << " --show-config show configuration\n"; + cout << " --show-log-entries= enable/disable dump of log entries on log show\n"; + cout << " --show-log-sum= enable/disable dump of log summation on log show\n"; + cout << " --skip-zero-entries log show only dumps entries that don't have zero value\n"; + cout << " in one of the numeric field\n"; + cout << " --infile= file to read in when setting data\n"; + cout << " --categories= comma separated list of categories, used in usage show\n"; + cout << " --caps= list of caps (e.g., \"usage=read, write; user=read\")\n"; + cout << " --op-mask= permission of user's operations (e.g., \"read, write, delete, *\")\n"; + cout << " --yes-i-really-mean-it required for certain operations\n"; + cout << " --warnings-only when specified with bucket limit check, list\n"; + cout << " only buckets nearing or over the current max\n"; + cout << " objects per shard value\n"; + cout << " --bypass-gc when specified with bucket deletion, triggers\n"; + cout << " object deletions by not involving GC\n"; + cout << " --inconsistent-index when specified with bucket deletion and bypass-gc set to true,\n"; + cout << " ignores bucket index consistency\n"; + cout << " --min-rewrite-size min object size for bucket rewrite (default 4M)\n"; + cout << " --max-rewrite-size max object size for bucket rewrite (default ULLONG_MAX)\n"; + cout << " --min-rewrite-stripe-size min stripe size for object rewrite (default 0)\n"; + cout << " --trim-delay-ms time interval in msec to limit the frequency of sync error log entries trimming operations,\n"; + cout << " the trimming process will sleep the specified msec for every 1000 entries trimmed\n"; + cout << " --max-concurrent-ios maximum concurrent ios for bucket operations (default: 32)\n"; + cout << " --enable-feature enable a zone/zonegroup feature\n"; + cout << " --disable-feature disable a zone/zonegroup feature\n"; cout << "\n"; cout << " := \"YYYY-MM-DD[ hh:mm:ss]\"\n"; cout << "\nQuota options:\n"; - cout << " --max-objects specify max objects (negative value to disable)\n"; - cout << " --max-size specify max size (in B/K/M/G/T, negative value to disable)\n"; - cout << " --quota-scope scope of quota (bucket, user)\n"; + cout << " --max-objects specify max objects (negative value to disable)\n"; + cout << " --max-size specify max size (in B/K/M/G/T, negative value to disable)\n"; + cout << " --quota-scope scope of quota (bucket, user)\n"; cout << "\nRate limiting options:\n"; - cout << " --max-read-ops specify max requests per minute for READ ops per RGW (GET and HEAD request methods), 0 means unlimited\n"; - cout << " --max-read-bytes specify max bytes per minute for READ ops per RGW (GET and HEAD request methods), 0 means unlimited\n"; - cout << " --max-write-ops specify max requests per minute for WRITE ops per RGW (Not GET or HEAD request methods), 0 means unlimited\n"; - cout << " --max-write-bytes specify max bytes per minute for WRITE ops per RGW (Not GET or HEAD request methods), 0 means unlimited\n"; - cout << " --ratelimit-scope scope of rate limiting: bucket, user, anonymous\n"; - cout << " anonymous can be configured only with global rate limit\n"; + cout << " --max-read-ops specify max requests per minute for READ ops per RGW (GET and HEAD request methods), 0 means unlimited\n"; + cout << " --max-read-bytes specify max bytes per minute for READ ops per RGW (GET and HEAD request methods), 0 means unlimited\n"; + cout << " --max-write-ops specify max requests per minute for WRITE ops per RGW (Not GET or HEAD request methods), 0 means unlimited\n"; + cout << " --max-write-bytes specify max bytes per minute for WRITE ops per RGW (Not GET or HEAD request methods), 0 means unlimited\n"; + cout << " --ratelimit-scope scope of rate limiting: bucket, user, anonymous\n"; + cout << " anonymous can be configured only with global rate limit\n"; cout << "\nOrphans search options:\n"; - cout << " --num-shards num of shards to use for keeping the temporary scan info\n"; - cout << " --orphan-stale-secs num of seconds to wait before declaring an object to be an orphan (default: 86400)\n"; - cout << " --job-id set the job id (for orphans find)\n"; - cout << " --detail detailed mode, log and stat head objects as well\n"; + cout << " --num-shards num of shards to use for keeping the temporary scan info\n"; + cout << " --orphan-stale-secs num of seconds to wait before declaring an object to be an orphan (default: 86400)\n"; + cout << " --job-id set the job id (for orphans find)\n"; + cout << " --detail detailed mode, log and stat head objects as well\n"; cout << "\nOrphans list-jobs options:\n"; - cout << " --extra-info provide extra info in job list\n"; + cout << " --extra-info provide extra info in job list\n"; cout << "\nRole options:\n"; - cout << " --role-name name of the role to create\n"; - cout << " --path path to the role\n"; - cout << " --assume-role-policy-doc the trust relationship policy document that grants an entity permission to assume the role\n"; - cout << " --policy-name name of the policy document\n"; - cout << " --policy-doc permission policy document\n"; - cout << " --path-prefix path prefix for filtering roles\n"; + cout << " --role-name name of the role to create\n"; + cout << " --path path to the role\n"; + cout << " --assume-role-policy-doc the trust relationship policy document that grants an entity permission to assume the role\n"; + cout << " --policy-name name of the policy document\n"; + cout << " --policy-doc permission policy document\n"; + cout << " --path-prefix path prefix for filtering roles\n"; cout << "\nMFA options:\n"; - cout << " --totp-serial a string that represents the ID of a TOTP token\n"; - cout << " --totp-seed the secret seed that is used to calculate the TOTP\n"; - cout << " --totp-seconds the time resolution that is being used for TOTP generation\n"; - cout << " --totp-window the number of TOTP tokens that are checked before and after the current token when validating token\n"; - cout << " --totp-pin the valid value of a TOTP token at a certain time\n"; + cout << " --totp-serial a string that represents the ID of a TOTP token\n"; + cout << " --totp-seed the secret seed that is used to calculate the TOTP\n"; + cout << " --totp-seconds the time resolution that is being used for TOTP generation\n"; + cout << " --totp-window the number of TOTP tokens that are checked before and after the current token when validating token\n"; + cout << " --totp-pin the valid value of a TOTP token at a certain time\n"; cout << "\nBucket notifications options:\n"; - cout << " --topic bucket notifications topic name\n"; - cout << " --notification-id bucket notifications id\n"; + cout << " --topic bucket notifications topic name\n"; + cout << " --notification-id bucket notifications id\n"; cout << "\nScript options:\n"; - cout << " --context context in which the script runs. one of: "+LUA_CONTEXT_LIST+"\n"; - cout << " --package name of the Lua package that should be added/removed to/from the allowlist\n"; - cout << " --allow-compilation package is allowed to compile C code as part of its installation\n"; + cout << " --context context in which the script runs. one of: "+LUA_CONTEXT_LIST+"\n"; + cout << " --package name of the Lua package that should be added/removed to/from the allowlist\n"; + cout << " --allow-compilation package is allowed to compile C code as part of its installation\n"; cout << "\nBucket check olh/unlinked options:\n"; - cout << " --min-age-hours minimum age of unlinked objects to consider for bucket check unlinked (default: 1)\n"; - cout << " --dump-keys when specified, all keys identified as problematic are printed to stdout\n"; - cout << " --hide-progress when specified, per-shard progress details are not printed to stderr\n"; + cout << " --min-age-hours minimum age of unlinked objects to consider for bucket check unlinked (default: 1)\n"; + cout << " --dump-keys when specified, all keys identified as problematic are printed to stdout\n"; + cout << " --hide-progress when specified, per-shard progress details are not printed to stderr\n"; cout << "\nradoslist options:\n"; - cout << " --rgw-obj-fs the field separator that will separate the rados\n"; - cout << " object name from the rgw object name;\n"; - cout << " additionally rados objects for incomplete\n"; - cout << " multipart uploads will not be output\n"; + cout << " --rgw-obj-fs the field separator that will separate the rados object name from the rgw object name;\n"; + cout << " additionally rados objects for incomplete multipart uploads will not be output\n"; cout << "\n"; generic_client_usage(); } @@ -2402,7 +2386,7 @@ static void get_data_sync_status(const rgw_zone_id& source_zone, list& s push_ss(ss, status, tab) << "data is caught up with source"; } else if (total_behind > 0) { push_ss(ss, status, tab) << "data is behind on " << total_behind << " shards"; - push_ss(ss, status, tab) << "behind shards: " << "[" << shards_behind_set << "]" ; + push_ss(ss, status, tab) << "behind shards: " << "[" << shards_behind_set << "]"; if (oldest) { push_ss(ss, status, tab) << "oldest incremental change not applied: " << oldest->second << " [" << oldest->first << ']'; @@ -2611,7 +2595,7 @@ static int bucket_source_sync_status(const DoutPrefixProvider *dpp, rgw::sal::Ra } if (!shards_behind.empty()) { out << indented{width} << "bucket is behind on " << shards_behind.size() << " shards\n"; - out << indented{width} << "behind shards: [" << shards_behind << "]\n" ; + out << indented{width} << "behind shards: [" << shards_behind << "]\n"; } else { out << indented{width} << "bucket is caught up with source\n"; } diff --git a/src/test/cli/radosgw-admin/help.t b/src/test/cli/radosgw-admin/help.t index 179094dc4b5..8f6fc36190c 100644 --- a/src/test/cli/radosgw-admin/help.t +++ b/src/test/cli/radosgw-admin/help.t @@ -1,389 +1,373 @@ $ radosgw-admin --help usage: radosgw-admin [options...] commands: - user create create a new user - user modify modify user - user info get user info - user rename rename user - user rm remove user - user suspend suspend a user - user enable re-enable user after suspension - user check check user info - user stats show user stats as accounted by quota subsystem - user list list users - caps add add user capabilities - caps rm remove user capabilities - subuser create create a new subuser - subuser modify modify subuser - subuser rm remove subuser - key create create access key - key rm remove access key - bucket list list buckets (specify --allow-unordered for - faster, unsorted listing) - bucket limit check show bucket sharding stats - bucket link link bucket to specified user - bucket unlink unlink bucket from specified user - bucket stats returns bucket statistics - bucket rm remove bucket - bucket check check bucket index by verifying size and object count stats - bucket check olh check for olh index entries and objects that are pending removal - bucket check unlinked check for object versions that are not visible in a bucket listing - bucket chown link bucket to specified user and update its object ACLs - bucket reshard reshard bucket - bucket rewrite rewrite all objects in the specified bucket - bucket sync checkpoint poll a bucket's sync status until it catches up to its remote - bucket sync disable disable bucket sync - bucket sync enable enable bucket sync - bucket radoslist list rados objects backing bucket's objects - bi get retrieve bucket index object entries - bi put store bucket index object entries - bi list list raw bucket index entries - bi purge purge bucket index entries - object rm remove object - object put put object - object stat stat an object for its metadata - object unlink unlink object from bucket index - object rewrite rewrite the specified object - object reindex reindex the object(s) indicated by --bucket and either --object or --objects-file - objects expire run expired objects cleanup - objects expire-stale list list stale expired objects (caused by reshard) - objects expire-stale rm remove stale expired objects - period rm remove a period - period get get period info - period get-current get current period info - period pull pull a period - period push push a period - period list list all periods - period update update the staging period - period commit commit the staging period - quota set set quota params - quota enable enable quota - quota disable disable quota - ratelimit get get ratelimit params - ratelimit set set ratelimit params - ratelimit enable enable ratelimit - ratelimit disable disable ratelimit - global quota get view global quota params - global quota set set global quota params - global quota enable enable a global quota - global quota disable disable a global quota - global ratelimit get view global ratelimit params - global ratelimit set set global ratelimit params - global ratelimit enable enable a ratelimit quota - global ratelimit disable disable a ratelimit quota - realm create create a new realm - realm rm remove a realm - realm get show realm info - realm get-default get default realm name - realm list list realms - realm list-periods list all realm periods - realm rename rename a realm - realm set set realm info (requires infile) - realm default set realm as default - realm pull pull a realm and its current period - zonegroup add add a zone to a zonegroup - zonegroup create create a new zone group info - zonegroup default set default zone group - zonegroup delete delete a zone group info - zonegroup get show zone group info - zonegroup modify modify an existing zonegroup - zonegroup set set zone group info (requires infile) - zonegroup rm remove a zone from a zonegroup - zonegroup rename rename a zone group - zonegroup list list all zone groups set on this cluster - zonegroup placement list list zonegroup's placement targets - zonegroup placement get get a placement target of a specific zonegroup - zonegroup placement add add a placement target id to a zonegroup - zonegroup placement modify modify a placement target of a specific zonegroup - zonegroup placement rm remove a placement target from a zonegroup - zonegroup placement default set a zonegroup's default placement target - zone create create a new zone - zone rm remove a zone - zone get show zone cluster params - zone modify modify an existing zone - zone set set zone cluster params (requires infile) - zone list list all zones set on this cluster - zone rename rename a zone - zone placement list list zone's placement targets - zone placement get get a zone placement target - zone placement add add a zone placement target - zone placement modify modify a zone placement target - zone placement rm remove a zone placement target - metadata sync status get metadata sync status - metadata sync init init metadata sync - metadata sync run run metadata sync - data sync status get data sync status of the specified source zone - data sync init init data sync for the specified source zone - data sync run run data sync for the specified source zone - pool add add an existing pool for data placement - pool rm remove an existing pool from data placement set - pools list list placement active set - policy read bucket/object policy - log list list log objects - log show dump a log from specific object or (bucket + date - + bucket-id) - (NOTE: required to specify formatting of date - to "YYYY-MM-DD-hh") - log rm remove log object - usage show show usage (by user, by bucket, date range) - usage trim trim usage (by user, by bucket, date range) - usage clear reset all the usage stats for the cluster - gc list dump expired garbage collection objects (specify - --include-all to list all entries, including unexpired) - gc process manually process garbage (specify - --include-all to process all entries, including unexpired) - lc list list all bucket lifecycle progress - lc get get a lifecycle bucket configuration - lc process manually process lifecycle - lc reshard fix fix LC for a resharded bucket - metadata get get metadata info - metadata put put metadata info - metadata rm remove metadata info - metadata list list metadata info - mdlog list list metadata log - mdlog autotrim auto trim metadata log - mdlog trim trim metadata log (use marker) - mdlog status read metadata log status - bilog list list bucket index log - bilog trim trim bucket index log (use start-marker, end-marker) - bilog status read bucket index log status - bilog autotrim auto trim bucket index log - datalog list list data log - datalog trim trim data log - datalog status read data log status - datalog type change datalog type to --log_type={fifo,omap} - orphans find deprecated -- init and run search for leaked rados objects (use job-id, pool) - orphans finish deprecated -- clean up search for leaked rados objects - orphans list-jobs deprecated -- list the current job-ids for orphans search - * the three 'orphans' sub-commands are now deprecated; consider using the `rgw-orphan-list` tool - role create create a AWS role for use with STS - role delete remove a role - role get get a role - role list list roles with specified path prefix - role-trust-policy modify modify the assume role policy of an existing role - role-policy put add/update permission policy to role - role-policy list list policies attached to a role - role-policy get get the specified inline policy document embedded with the given role - role-policy delete remove policy attached to a role - role update update max_session_duration of a role - reshard add schedule a resharding of a bucket - reshard list list all bucket resharding or scheduled to be resharded - reshard status read bucket resharding status - reshard process process of scheduled reshard jobs - reshard cancel cancel resharding a bucket - reshard stale-instances list list stale-instances from bucket resharding + user create create a new user + user modify modify user + user info get user info + user rename rename user + user rm remove user + user suspend suspend a user + user enable re-enable user after suspension + user check check user info + user stats show user stats as accounted by quota subsystem + user list list users + caps add add user capabilities + caps rm remove user capabilities + subuser create create a new subuser + subuser modify modify subuser + subuser rm remove subuser + key create create access key + key rm remove access key + bucket list list buckets (specify --allow-unordered for faster, unsorted listing) + bucket limit check show bucket sharding stats + bucket link link bucket to specified user + bucket unlink unlink bucket from specified user + bucket stats returns bucket statistics + bucket rm remove bucket + bucket check check bucket index by verifying size and object count stats + bucket check olh check for olh index entries and objects that are pending removal + bucket check unlinked check for object versions that are not visible in a bucket listing + bucket chown link bucket to specified user and update its object ACLs + bucket reshard reshard bucket + bucket rewrite rewrite all objects in the specified bucket + bucket sync checkpoint poll a bucket's sync status until it catches up to its remote + bucket sync disable disable bucket sync + bucket sync enable enable bucket sync + bucket radoslist list rados objects backing bucket's objects + bi get retrieve bucket index object entries + bi put store bucket index object entries + bi list list raw bucket index entries + bi purge purge bucket index entries + object rm remove object + object put put object + object stat stat an object for its metadata + object unlink unlink object from bucket index + object rewrite rewrite the specified object + object reindex reindex the object(s) indicated by --bucket and either --object or --objects-file + objects expire run expired objects cleanup + objects expire-stale list list stale expired objects (caused by reshard) + objects expire-stale rm remove stale expired objects + period rm remove a period + period get get period info + period get-current get current period info + period pull pull a period + period push push a period + period list list all periods + period update update the staging period + period commit commit the staging period + quota set set quota params + quota enable enable quota + quota disable disable quota + ratelimit get get ratelimit params + ratelimit set set ratelimit params + ratelimit enable enable ratelimit + ratelimit disable disable ratelimit + global quota get view global quota params + global quota set set global quota params + global quota enable enable a global quota + global quota disable disable a global quota + global ratelimit get view global ratelimit params + global ratelimit set set global ratelimit params + global ratelimit enable enable a ratelimit quota + global ratelimit disable disable a ratelimit quota + realm create create a new realm + realm rm remove a realm + realm get show realm info + realm get-default get default realm name + realm list list realms + realm list-periods list all realm periods + realm rename rename a realm + realm set set realm info (requires infile) + realm default set realm as default + realm pull pull a realm and its current period + zonegroup add add a zone to a zonegroup + zonegroup create create a new zone group info + zonegroup default set default zone group + zonegroup delete delete a zone group info + zonegroup get show zone group info + zonegroup modify modify an existing zonegroup + zonegroup set set zone group info (requires infile) + zonegroup rm remove a zone from a zonegroup + zonegroup rename rename a zone group + zonegroup list list all zone groups set on this cluster + zonegroup placement list list zonegroup's placement targets + zonegroup placement get get a placement target of a specific zonegroup + zonegroup placement add add a placement target id to a zonegroup + zonegroup placement modify modify a placement target of a specific zonegroup + zonegroup placement rm remove a placement target from a zonegroup + zonegroup placement default set a zonegroup's default placement target + zone create create a new zone + zone rm remove a zone + zone get show zone cluster params + zone modify modify an existing zone + zone set set zone cluster params (requires infile) + zone list list all zones set on this cluster + zone rename rename a zone + zone placement list list zone's placement targets + zone placement get get a zone placement target + zone placement add add a zone placement target + zone placement modify modify a zone placement target + zone placement rm remove a zone placement target + metadata sync status get metadata sync status + metadata sync init init metadata sync + metadata sync run run metadata sync + data sync status get data sync status of the specified source zone + data sync init init data sync for the specified source zone + data sync run run data sync for the specified source zone + pool add add an existing pool for data placement + pool rm remove an existing pool from data placement set + pools list list placement active set + policy read bucket/object policy + log list list log objects + log show dump a log from specific object or (bucket + date + bucket-id) + (NOTE: required to specify formatting of date to "YYYY-MM-DD-hh") + log rm remove log object + usage show show usage (by user, by bucket, date range) + usage trim trim usage (by user, by bucket, date range) + usage clear reset all the usage stats for the cluster + gc list dump expired garbage collection objects (specify + --include-all to list all entries, including unexpired) + gc process manually process garbage (specify + --include-all to process all entries, including unexpired) + lc list list all bucket lifecycle progress + lc get get a lifecycle bucket configuration + lc process manually process lifecycle + lc reshard fix fix LC for a resharded bucket + metadata get get metadata info + metadata put put metadata info + metadata rm remove metadata info + metadata list list metadata info + mdlog list list metadata log + mdlog autotrim auto trim metadata log + mdlog trim trim metadata log (use marker) + mdlog status read metadata log status + bilog list list bucket index log + bilog trim trim bucket index log (use start-marker, end-marker) + bilog status read bucket index log status + bilog autotrim auto trim bucket index log + datalog list list data log + datalog trim trim data log + datalog status read data log status + datalog type change datalog type to --log_type={fifo,omap} + orphans find deprecated -- init and run search for leaked rados objects (use job-id, pool) + orphans finish deprecated -- clean up search for leaked rados objects + orphans list-jobs deprecated -- list the current job-ids for orphans search + * the three 'orphans' sub-commands are now deprecated; consider using the `rgw-orphan-list` tool + role create create a AWS role for use with STS + role delete remove a role + role get get a role + role list list roles with specified path prefix + role-trust-policy modify modify the assume role policy of an existing role + role-policy put add/update permission policy to role + role-policy list list policies attached to a role + role-policy get get the specified inline policy document embedded with the given role + role-policy delete remove policy attached to a role + role update update max_session_duration of a role + reshard add schedule a resharding of a bucket + reshard list list all bucket resharding or scheduled to be resharded + reshard status read bucket resharding status + reshard process process of scheduled reshard jobs + reshard cancel cancel resharding a bucket + reshard stale-instances list list stale-instances from bucket resharding reshard stale-instances delete cleanup stale-instances from bucket resharding - sync error list list sync error - sync error trim trim sync error - mfa create create a new MFA TOTP token - mfa list list MFA TOTP tokens - mfa get show MFA TOTP token - mfa remove delete MFA TOTP token - mfa check check MFA TOTP token - mfa resync re-sync MFA TOTP token - topic list list bucket notifications topics - topic get get a bucket notifications topic - topic rm remove a bucket notifications topic - topic stats get a bucket notifications persistent topic stats (i.e. reservations, entries & size) - script put upload a Lua script to a context - script get get the Lua script of a context - script rm remove the Lua scripts of a context - script-package add add a Lua package to the scripts allowlist - script-package rm remove a Lua package from the scripts allowlist - script-package list get the Lua packages allowlist - script-package reload install/remove Lua packages according to allowlist - notification list list bucket notifications configuration - notification get get a bucket notifications configuration - notification rm remove a bucket notifications configuration + sync error list list sync error + sync error trim trim sync error + mfa create create a new MFA TOTP token + mfa list list MFA TOTP tokens + mfa get show MFA TOTP token + mfa remove delete MFA TOTP token + mfa check check MFA TOTP token + mfa resync re-sync MFA TOTP token + topic list list bucket notifications topics + topic get get a bucket notifications topic + topic rm remove a bucket notifications topic + topic stats get a bucket notifications persistent topic stats (i.e. reservations, entries & size) + script put upload a Lua script to a context + script get get the Lua script of a context + script rm remove the Lua scripts of a context + script-package add add a Lua package to the scripts allowlist + script-package rm remove a Lua package from the scripts allowlist + script-package list get the Lua packages allowlist + script-package reload install/remove Lua packages according to allowlist + notification list list bucket notifications configuration + notification get get a bucket notifications configuration + notification rm remove a bucket notifications configuration options: - --tenant= tenant name - --user_ns= namespace of user (oidc in case of users authenticated with oidc provider) - --uid= user id - --new-uid= new user id - --subuser= subuser name - --access-key= S3 access key - --email= user's email address - --secret/--secret-key= - specify secret key - --gen-access-key generate random access key (for S3) - --gen-secret generate random secret key - --key-type= key type, options are: swift, s3 - --temp-url-key[-2]= temp url key - --access= Set access permissions for sub-user, should be one - of read, write, readwrite, full - --display-name= user's display name - --max-buckets max number of buckets for a user - --admin set the admin flag on the user - --system set the system flag on the user - --op-mask set the op mask on the user - --bucket= Specify the bucket name. Also used by the quota command. - --pool= Specify the pool name. Also used to scan for leaked rados objects. - --object= object name - --objects-file= file containing a list of object names to process - --object-version= object version - --date= date in the format yyyy-mm-dd - --start-date= start date in the format yyyy-mm-dd - --end-date= end date in the format yyyy-mm-dd - --bucket-id= bucket id - --bucket-new-name= - for bucket link: optional new name - --shard-id= optional for: - mdlog list - data sync status - required for: - mdlog trim - --gen= optional for: - bilog list - bilog trim - bilog status - --max-entries= max entries for listing operations - --metadata-key= key to retrieve metadata from with metadata get - --remote= zone or zonegroup id of remote gateway - --period= period id - --url= url for pushing/pulling period/realm - --epoch= period epoch - --commit commit the period during 'period update' - --staging get staging period info - --master set as master - --master-zone= master zone id - --rgw-realm= realm name - --realm-id= realm id - --realm-new-name= realm new name - --rgw-zonegroup= zonegroup name - --zonegroup-id= zonegroup id - --zonegroup-new-name= - zonegroup new name - --rgw-zone= name of zone in which radosgw is running - --zone-id= zone id - --zone-new-name= zone new name - --source-zone specify the source zone (for data sync) - --default set entity (realm, zonegroup, zone) as default - --read-only set zone as read-only (when adding to zonegroup) - --redirect-zone specify zone id to redirect when response is 404 (not found) - --placement-id placement id for zonegroup placement commands - --storage-class storage class for zonegroup placement commands - --tags= list of tags for zonegroup placement add and modify commands - --tags-add= list of tags to add for zonegroup placement modify command - --tags-rm= list of tags to remove for zonegroup placement modify command - --endpoints= zone endpoints - --index-pool= placement target index pool - --data-pool= placement target data pool - --data-extra-pool= placement target data extra (non-ec) pool - --placement-index-type= - placement target index type (normal, indexless, or #id) - --placement-inline-data= - set whether the placement target is configured to store a data - chunk inline in head objects - --compression= placement target compression type (plugin name or empty/none) - --tier-type= zone tier type - --tier-config==[,...] - set zone tier config keys, values - --tier-config-rm=[,...] - unset zone tier config keys - --sync-from-all[=false] set/reset whether zone syncs from all zonegroup peers - --sync-from=[zone-name][,...] - set list of zones to sync from - --sync-from-rm=[zone-name][,...] - remove zones from list of zones to sync from - --bucket-index-max-shards override a zone/zonegroup's default bucket index shard count - --fix besides checking bucket index, will also fix it - --check-objects bucket check: rebuilds bucket index according to - actual objects state - --format= specify output format for certain operations: xml, - json - --purge-data when specified, user removal will also purge all the - user data - --purge-keys when specified, subuser removal will also purge all the - subuser keys - --purge-objects remove a bucket's objects before deleting it - (NOTE: required to delete a non-empty bucket) - --sync-stats option to 'user stats', update user stats with current - stats reported by user's buckets indexes - --reset-stats option to 'user stats', reset stats in accordance with user buckets - --show-config show configuration - --show-log-entries= enable/disable dump of log entries on log show - --show-log-sum= enable/disable dump of log summation on log show - --skip-zero-entries log show only dumps entries that don't have zero value - in one of the numeric field - --infile= file to read in when setting data - --categories= comma separated list of categories, used in usage show - --caps= list of caps (e.g., "usage=read, write; user=read") - --op-mask= permission of user's operations (e.g., "read, write, delete, *") - --yes-i-really-mean-it required for certain operations - --warnings-only when specified with bucket limit check, list - only buckets nearing or over the current max - objects per shard value - --bypass-gc when specified with bucket deletion, triggers - object deletions by not involving GC - --inconsistent-index when specified with bucket deletion and bypass-gc set to true, - ignores bucket index consistency - --min-rewrite-size min object size for bucket rewrite (default 4M) - --max-rewrite-size max object size for bucket rewrite (default ULLONG_MAX) - --min-rewrite-stripe-size min stripe size for object rewrite (default 0) - --trim-delay-ms time interval in msec to limit the frequency of sync error log entries trimming operations, - the trimming process will sleep the specified msec for every 1000 entries trimmed - --max-concurrent-ios maximum concurrent ios for bucket operations (default: 32) - --enable-feature enable a zone/zonegroup feature - --disable-feature disable a zone/zonegroup feature + --tenant= tenant name + --user_ns= namespace of user (oidc in case of users authenticated with oidc provider) + --uid= user id + --new-uid= new user id + --subuser= subuser name + --access-key= S3 access key + --email= user's email address + --secret/--secret-key= specify secret key + --gen-access-key generate random access key (for S3) + --gen-secret generate random secret key + --key-type= key type, options are: swift, s3 + --temp-url-key[-2]= temp url key + --access= Set access permissions for sub-user, should be one + of read, write, readwrite, full + --display-name= user's display name + --max-buckets max number of buckets for a user + --admin set the admin flag on the user + --system set the system flag on the user + --op-mask set the op mask on the user + --bucket= Specify the bucket name. Also used by the quota command. + --pool= Specify the pool name. Also used to scan for leaked rados objects. + --object= object name + --objects-file= file containing a list of object names to process + --object-version= object version + --date= date in the format yyyy-mm-dd + --start-date= start date in the format yyyy-mm-dd + --end-date= end date in the format yyyy-mm-dd + --bucket-id= bucket id + --bucket-new-name= for bucket link: optional new name + --shard-id= optional for: + mdlog list + data sync status + required for: + mdlog trim + --gen= optional for: + bilog list + bilog trim + bilog status + --max-entries= max entries for listing operations + --metadata-key= key to retrieve metadata from with metadata get + --remote= zone or zonegroup id of remote gateway + --period= period id + --url= url for pushing/pulling period/realm + --epoch= period epoch + --commit commit the period during 'period update' + --staging get staging period info + --master set as master + --master-zone= master zone id + --rgw-realm= realm name + --realm-id= realm id + --realm-new-name= realm new name + --rgw-zonegroup= zonegroup name + --zonegroup-id= zonegroup id + --zonegroup-new-name= zonegroup new name + --rgw-zone= name of zone in which radosgw is running + --zone-id= zone id + --zone-new-name= zone new name + --source-zone specify the source zone (for data sync) + --default set entity (realm, zonegroup, zone) as default + --read-only set zone as read-only (when adding to zonegroup) + --redirect-zone specify zone id to redirect when response is 404 (not found) + --placement-id placement id for zonegroup placement commands + --storage-class storage class for zonegroup placement commands + --tags= list of tags for zonegroup placement add and modify commands + --tags-add= list of tags to add for zonegroup placement modify command + --tags-rm= list of tags to remove for zonegroup placement modify command + --endpoints= zone endpoints + --index-pool= placement target index pool + --data-pool= placement target data pool + --data-extra-pool= placement target data extra (non-ec) pool + --placement-index-type= placement target index type (normal, indexless, or #id) + --placement-inline-data= set whether the placement target is configured to store a data + chunk inline in head objects + --compression= placement target compression type (plugin name or empty/none) + --tier-type= zone tier type + --tier-config==[,...] set zone tier config keys, values + --tier-config-rm=[,...] unset zone tier config keys + --sync-from-all[=false] set/reset whether zone syncs from all zonegroup peers + --sync-from=[zone-name][,...] set list of zones to sync from + --sync-from-rm=[zone-name][,...] remove zones from list of zones to sync from + --bucket-index-max-shards override a zone/zonegroup's default bucket index shard count + --fix besides checking bucket index, will also fix it + --check-objects bucket check: rebuilds bucket index according to actual objects state + --format= specify output format for certain operations: xml, json + --purge-data when specified, user removal will also purge all the + user data + --purge-keys when specified, subuser removal will also purge all the + subuser keys + --purge-objects remove a bucket's objects before deleting it + (NOTE: required to delete a non-empty bucket) + --sync-stats option to 'user stats', update user stats with current + stats reported by user's buckets indexes + --reset-stats option to 'user stats', reset stats in accordance with user buckets + --show-config show configuration + --show-log-entries= enable/disable dump of log entries on log show + --show-log-sum= enable/disable dump of log summation on log show + --skip-zero-entries log show only dumps entries that don't have zero value + in one of the numeric field + --infile= file to read in when setting data + --categories= comma separated list of categories, used in usage show + --caps= list of caps (e.g., "usage=read, write; user=read") + --op-mask= permission of user's operations (e.g., "read, write, delete, *") + --yes-i-really-mean-it required for certain operations + --warnings-only when specified with bucket limit check, list + only buckets nearing or over the current max + objects per shard value + --bypass-gc when specified with bucket deletion, triggers + object deletions by not involving GC + --inconsistent-index when specified with bucket deletion and bypass-gc set to true, + ignores bucket index consistency + --min-rewrite-size min object size for bucket rewrite (default 4M) + --max-rewrite-size max object size for bucket rewrite (default ULLONG_MAX) + --min-rewrite-stripe-size min stripe size for object rewrite (default 0) + --trim-delay-ms time interval in msec to limit the frequency of sync error log entries trimming operations, + the trimming process will sleep the specified msec for every 1000 entries trimmed + --max-concurrent-ios maximum concurrent ios for bucket operations (default: 32) + --enable-feature enable a zone/zonegroup feature + --disable-feature disable a zone/zonegroup feature := "YYYY-MM-DD[ hh:mm:ss]" Quota options: - --max-objects specify max objects (negative value to disable) - --max-size specify max size (in B/K/M/G/T, negative value to disable) - --quota-scope scope of quota (bucket, user) + --max-objects specify max objects (negative value to disable) + --max-size specify max size (in B/K/M/G/T, negative value to disable) + --quota-scope scope of quota (bucket, user) Rate limiting options: - --max-read-ops specify max requests per minute for READ ops per RGW (GET and HEAD request methods), 0 means unlimited - --max-read-bytes specify max bytes per minute for READ ops per RGW (GET and HEAD request methods), 0 means unlimited - --max-write-ops specify max requests per minute for WRITE ops per RGW (Not GET or HEAD request methods), 0 means unlimited - --max-write-bytes specify max bytes per minute for WRITE ops per RGW (Not GET or HEAD request methods), 0 means unlimited - --ratelimit-scope scope of rate limiting: bucket, user, anonymous - anonymous can be configured only with global rate limit + --max-read-ops specify max requests per minute for READ ops per RGW (GET and HEAD request methods), 0 means unlimited + --max-read-bytes specify max bytes per minute for READ ops per RGW (GET and HEAD request methods), 0 means unlimited + --max-write-ops specify max requests per minute for WRITE ops per RGW (Not GET or HEAD request methods), 0 means unlimited + --max-write-bytes specify max bytes per minute for WRITE ops per RGW (Not GET or HEAD request methods), 0 means unlimited + --ratelimit-scope scope of rate limiting: bucket, user, anonymous + anonymous can be configured only with global rate limit Orphans search options: - --num-shards num of shards to use for keeping the temporary scan info - --orphan-stale-secs num of seconds to wait before declaring an object to be an orphan (default: 86400) - --job-id set the job id (for orphans find) - --detail detailed mode, log and stat head objects as well + --num-shards num of shards to use for keeping the temporary scan info + --orphan-stale-secs num of seconds to wait before declaring an object to be an orphan (default: 86400) + --job-id set the job id (for orphans find) + --detail detailed mode, log and stat head objects as well Orphans list-jobs options: - --extra-info provide extra info in job list + --extra-info provide extra info in job list Role options: - --role-name name of the role to create - --path path to the role - --assume-role-policy-doc the trust relationship policy document that grants an entity permission to assume the role - --policy-name name of the policy document - --policy-doc permission policy document - --path-prefix path prefix for filtering roles + --role-name name of the role to create + --path path to the role + --assume-role-policy-doc the trust relationship policy document that grants an entity permission to assume the role + --policy-name name of the policy document + --policy-doc permission policy document + --path-prefix path prefix for filtering roles MFA options: - --totp-serial a string that represents the ID of a TOTP token - --totp-seed the secret seed that is used to calculate the TOTP - --totp-seconds the time resolution that is being used for TOTP generation - --totp-window the number of TOTP tokens that are checked before and after the current token when validating token - --totp-pin the valid value of a TOTP token at a certain time + --totp-serial a string that represents the ID of a TOTP token + --totp-seed the secret seed that is used to calculate the TOTP + --totp-seconds the time resolution that is being used for TOTP generation + --totp-window the number of TOTP tokens that are checked before and after the current token when validating token + --totp-pin the valid value of a TOTP token at a certain time Bucket notifications options: - --topic bucket notifications topic name - --notification-id bucket notifications id + --topic bucket notifications topic name + --notification-id bucket notifications id Script options: - --context context in which the script runs. one of: prerequest, postrequest, background, getdata, putdata - --package name of the Lua package that should be added/removed to/from the allowlist - --allow-compilation package is allowed to compile C code as part of its installation + --context context in which the script runs. one of: prerequest, postrequest, background, getdata, putdata + --package name of the Lua package that should be added/removed to/from the allowlist + --allow-compilation package is allowed to compile C code as part of its installation Bucket check olh/unlinked options: - --min-age-hours minimum age of unlinked objects to consider for bucket check unlinked (default: 1) - --dump-keys when specified, all keys identified as problematic are printed to stdout - --hide-progress when specified, per-shard progress details are not printed to stderr + --min-age-hours minimum age of unlinked objects to consider for bucket check unlinked (default: 1) + --dump-keys when specified, all keys identified as problematic are printed to stdout + --hide-progress when specified, per-shard progress details are not printed to stderr radoslist options: - --rgw-obj-fs the field separator that will separate the rados - object name from the rgw object name; - additionally rados objects for incomplete - multipart uploads will not be output + --rgw-obj-fs the field separator that will separate the rados object name from the rgw object name; + additionally rados objects for incomplete multipart uploads will not be output --conf/-c FILE read configuration from the given configuration file --id ID set ID portion of my name -- 2.39.5