globus-cli 3.28.3__tar.gz → 3.30.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {globus_cli-3.28.3/src/globus_cli.egg-info → globus_cli-3.30.0}/PKG-INFO +3 -4
- {globus_cli-3.28.3 → globus_cli-3.30.0}/pyproject.toml +4 -35
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/_warnings.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/api.py +3 -3
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/bookmark/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/bookmark/create.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/bookmark/delete.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/bookmark/list.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/bookmark/rename.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/bookmark/show.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/cli_profile_list.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/create/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/create/guest.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/create/mapped.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/delete.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/list.py +22 -4
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/show.py +2 -4
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/update.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/delete.py +1 -3
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/_common.py +3 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/activate.py +8 -57
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/create.py +27 -27
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/delete.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/local_id.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/my_shared_endpoint_list.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/permission/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/permission/create.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/permission/delete.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/permission/list.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/permission/show.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/permission/update.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/role/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/role/_common.py +2 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/role/create.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/role/delete.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/role/list.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/role/show.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/search.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/server/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/server/add.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/server/delete.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/server/list.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/server/show.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/server/update.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/set_subscription_id.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/show.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/storage_gateway/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/storage_gateway/list.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/update.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/_common.py +3 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/create/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/create/from_json.py +5 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/create/posix.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/create/s3.py +7 -7
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/delete.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/list.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/show.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/update/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/update/from_json.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/create.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/delete.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/list.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/cancel.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/delete.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/list.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/resume.py +2 -4
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/show.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/show_definition.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/show_logs.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/update.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/show.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/start.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/update.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/validate.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/create/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/create/_common.py +2 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/create/guest.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/create/mapped.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/set_subscription_id.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/update/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/update/guest.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/update/mapped.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/role/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/update.py +5 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/get_identities.py +3 -3
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/_common.py +2 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/create.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/delete.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/get_by_subscription.py +8 -4
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/invite/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/invite/accept.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/invite/decline.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/join.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/leave.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/list.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/member/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/member/add.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/member/approve.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/member/invite.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/member/list.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/member/reject.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/member/remove.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/set_policies.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/show.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/list_commands.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/login.py +4 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/logout.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/ls.py +1 -3
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/mkdir.py +2 -5
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/rename.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/rm.py +2 -4
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/_common.py +2 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/delete_by_query.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/create.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/delete.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/list.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/role/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/role/create.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/role/delete.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/role/list.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/show.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/ingest.py +4 -4
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/query.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/subject/__init__.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/subject/delete.py +2 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/subject/show.py +2 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/task/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/task/list.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/task/show.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/session/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/session/consent.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/session/show.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/session/update.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/stat.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/_common.py +3 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/cancel.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/event_list.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/generate_submission_id.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/list.py +33 -31
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/pause_info.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/show.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/update.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/wait.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/create/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/create/transfer.py +34 -18
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/delete.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/list.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/pause.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/resume.py +2 -4
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/show.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/transfer.py +9 -8
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/update.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/version.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/whoami.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/endpointish/entity_type.py +3 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/exception_handling/__init__.py +4 -4
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/exception_handling/hooks.py +7 -10
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/exception_handling/registry.py +51 -21
- globus_cli-3.30.0/src/globus_cli/globus_cli_flake8.py +179 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/auth_flows.py +2 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/manager.py +2 -7
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/tokenstore.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/command_state.py +58 -38
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/commands.py +1 -13
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/mutex_group.py +4 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_classes.py +3 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/endpoint_plus_path.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/json_strorfile.py +10 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/shared_options/__init__.py +10 -7
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/shared_options/endpointish.py +16 -15
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/shared_options/transfer_task_options.py +3 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/services/auth.py +1 -1
- globus_cli-3.30.0/src/globus_cli/services/gcs.py +26 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/services/transfer/__init__.py +0 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/services/transfer/activation.py +13 -20
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/services/transfer/client.py +8 -3
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/services/transfer/data.py +5 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/__init__.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/awscli_text.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/field.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/formatters/compound.py +9 -9
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/printer.py +55 -49
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/types.py +5 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/utils.py +4 -2
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/version.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0/src/globus_cli.egg-info}/PKG-INFO +3 -4
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli.egg-info/SOURCES.txt +0 -1
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli.egg-info/requires.txt +2 -3
- globus_cli-3.28.3/src/globus_cli/globus_cli_flake8.py +0 -104
- globus_cli-3.28.3/src/globus_cli/services/gcs.py +0 -89
- globus_cli-3.28.3/src/globus_cli/services/transfer/delegate_proxy.py +0 -245
- {globus_cli-3.28.3 → globus_cli-3.30.0}/LICENSE +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/README.rst +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/setup.cfg +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/setup.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/__main__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/bookmark/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/deactivate.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/is_activated.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/permission/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/server/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/role/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/role/create.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/role/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/role/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/role/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/set_subscription_id.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/get_subscription_info.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/invite/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/update.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/constants.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/endpointish/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/endpointish/endpointish.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/endpointish/errors.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/_old_config.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/client_login.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/context.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/errors.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/local_server.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/scopes.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/utils.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/delimited.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/identity_type.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/location.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/notify_param.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/nullable.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/task_path.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/timedelta.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/shared_callbacks.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/shared_options/id_args.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/shell_completion.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/reflect.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/services/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/services/transfer/recursive_ls.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/context.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/errors.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/formatters/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/formatters/auth.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/formatters/base.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/formatters/primitive.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/server_timing.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli.egg-info/dependency_links.txt +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli.egg-info/entry_points.txt +0 -0
- {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: globus-cli
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.30.0
|
|
4
4
|
Summary: Globus CLI
|
|
5
5
|
Author-email: Stephen Rosen <sirosen@globus.org>
|
|
6
6
|
Project-URL: homepage, https://github.com/globus/globus-cli
|
|
@@ -18,20 +18,19 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
18
18
|
Requires-Python: >=3.8
|
|
19
19
|
Description-Content-Type: text/x-rst
|
|
20
20
|
License-File: LICENSE
|
|
21
|
-
Requires-Dist: globus-sdk==3.
|
|
21
|
+
Requires-Dist: globus-sdk==3.43.0
|
|
22
22
|
Requires-Dist: click<9,>=8.1.4
|
|
23
23
|
Requires-Dist: jmespath==1.0.1
|
|
24
24
|
Requires-Dist: packaging>=17.0
|
|
25
25
|
Requires-Dist: typing_extensions>=4.0; python_version < "3.11"
|
|
26
26
|
Requires-Dist: requests<3.0.0,>=2.19.1
|
|
27
|
-
Requires-Dist: cryptography>=3.3.1
|
|
28
27
|
Provides-Extra: test
|
|
29
28
|
Requires-Dist: coverage>=7; extra == "test"
|
|
30
29
|
Requires-Dist: pytest>=7; extra == "test"
|
|
31
30
|
Requires-Dist: pytest-xdist<4; extra == "test"
|
|
32
31
|
Requires-Dist: pytest-timeout<3; extra == "test"
|
|
33
32
|
Requires-Dist: click-type-test==0.0.7; python_version >= "3.10" and extra == "test"
|
|
34
|
-
Requires-Dist: responses==0.25.
|
|
33
|
+
Requires-Dist: responses==0.25.3; extra == "test"
|
|
35
34
|
Requires-Dist: ruamel.yaml==0.18.6; extra == "test"
|
|
36
35
|
Requires-Dist: setuptools; python_version >= "3.12" and extra == "test"
|
|
37
36
|
|
|
@@ -28,7 +28,7 @@ classifiers = [
|
|
|
28
28
|
]
|
|
29
29
|
requires-python = ">=3.8"
|
|
30
30
|
dependencies = [
|
|
31
|
-
"globus-sdk==3.
|
|
31
|
+
"globus-sdk==3.43.0",
|
|
32
32
|
"click>=8.1.4,<9",
|
|
33
33
|
"jmespath==1.0.1",
|
|
34
34
|
"packaging>=17.0",
|
|
@@ -36,7 +36,6 @@ dependencies = [
|
|
|
36
36
|
# these are dependencies of the SDK, but they are used directly in the CLI
|
|
37
37
|
# declare them here in case the underlying lib ever changes
|
|
38
38
|
"requests>=2.19.1,<3.0.0",
|
|
39
|
-
"cryptography>=3.3.1",
|
|
40
39
|
]
|
|
41
40
|
dynamic = ["version"]
|
|
42
41
|
|
|
@@ -50,7 +49,7 @@ test = [
|
|
|
50
49
|
"pytest-xdist<4",
|
|
51
50
|
"pytest-timeout<3",
|
|
52
51
|
"click-type-test==0.0.7;python_version>='3.10'",
|
|
53
|
-
"responses==0.25.
|
|
52
|
+
"responses==0.25.3",
|
|
54
53
|
# loading test fixture data
|
|
55
54
|
"ruamel.yaml==0.18.6",
|
|
56
55
|
# Python 3.12 needs setuptools.
|
|
@@ -79,46 +78,16 @@ output_file = "changelog.adoc"
|
|
|
79
78
|
entry_title_template = '{{ version }} ({{ date.strftime("%Y-%m-%d") }})'
|
|
80
79
|
|
|
81
80
|
[tool.mypy]
|
|
82
|
-
|
|
83
|
-
# strict=true
|
|
84
|
-
# however, strict=true does not play well with overrides (used below)
|
|
85
|
-
# therefore, we explicitly declare a number of options which approach
|
|
86
|
-
# `strict=true` in effect
|
|
87
|
-
warn_unused_configs = true
|
|
88
|
-
|
|
89
|
-
# TODO: enable disallow_any_generics (currently fails)
|
|
90
|
-
# disallow_any_generics = true
|
|
91
|
-
disallow_subclassing_any = true
|
|
92
|
-
|
|
93
|
-
# do not disallow_untyped_calls, as we have untyped defs of our own
|
|
94
|
-
# this rule causes too much chaos at present
|
|
95
|
-
#
|
|
96
|
-
# disallow_untyped_calls = true
|
|
97
|
-
|
|
98
|
-
disallow_untyped_defs = true
|
|
99
|
-
disallow_incomplete_defs = true
|
|
100
|
-
check_untyped_defs = true
|
|
101
|
-
disallow_untyped_decorators = true
|
|
102
|
-
warn_redundant_casts = true
|
|
103
|
-
warn_unused_ignores = true
|
|
104
|
-
warn_return_any = true
|
|
105
|
-
no_implicit_reexport = true
|
|
106
|
-
strict_equality = true
|
|
107
|
-
extra_checks = true
|
|
81
|
+
strict = true
|
|
108
82
|
|
|
109
83
|
# additional settings (not part of strict=true)
|
|
110
84
|
warn_unreachable = true
|
|
111
85
|
|
|
112
86
|
[[tool.mypy.overrides]]
|
|
87
|
+
disallow_untyped_calls = false
|
|
113
88
|
disallow_untyped_defs = false
|
|
114
89
|
disallow_incomplete_defs = false
|
|
115
90
|
module = [
|
|
116
|
-
"globus_cli.services.gcs",
|
|
117
|
-
"globus_cli.services.transfer.activation",
|
|
118
|
-
"globus_cli.services.transfer.client",
|
|
119
|
-
"globus_cli.services.transfer.delegate_proxy",
|
|
120
91
|
"globus_cli.services.transfer.recursive_ls",
|
|
121
|
-
"globus_cli.termio",
|
|
122
|
-
"globus_cli.termio.printer",
|
|
123
92
|
"globus_cli.termio.awscli_text",
|
|
124
93
|
]
|
|
@@ -11,7 +11,7 @@ def simplefilter(
|
|
|
11
11
|
filterstr: t.Literal["default", "error", "ignore", "always", "module", "once"]
|
|
12
12
|
) -> None:
|
|
13
13
|
"""
|
|
14
|
-
|
|
14
|
+
Wrap `warnings.simplefilter` with a check on `_TEST_WARNING_CONTROL`.
|
|
15
15
|
"""
|
|
16
16
|
if not _TEST_WARNING_CONTROL:
|
|
17
17
|
warnings.simplefilter(filterstr)
|
|
@@ -13,9 +13,9 @@ from globus_cli.login_manager import LoginManager, is_client_login
|
|
|
13
13
|
from globus_cli.login_manager.scopes import CLI_SCOPE_REQUIREMENTS
|
|
14
14
|
from globus_cli.parsing import command, endpoint_id_arg, group, mutex_option_group
|
|
15
15
|
from globus_cli.termio import display
|
|
16
|
-
from globus_cli.types import ServiceNameLiteral
|
|
16
|
+
from globus_cli.types import AnyCommand, ServiceNameLiteral
|
|
17
17
|
|
|
18
|
-
C = t.TypeVar("C", bound=
|
|
18
|
+
C = t.TypeVar("C", bound=AnyCommand)
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
class QueryParamType(click.ParamType):
|
|
@@ -345,7 +345,7 @@ def _handle_scope_string(
|
|
|
345
345
|
|
|
346
346
|
@group("api")
|
|
347
347
|
def api_command() -> None:
|
|
348
|
-
"""Make API calls to Globus services"""
|
|
348
|
+
"""Make API calls to Globus services."""
|
|
349
349
|
|
|
350
350
|
|
|
351
351
|
# note: this must be written as a separate call and not inlined into the loop body
|
|
@@ -32,7 +32,7 @@ $ globus bookmark create \
|
|
|
32
32
|
-F unix --jmespath 'id'
|
|
33
33
|
----
|
|
34
34
|
""",
|
|
35
|
-
short_help="Create a bookmark for the current user",
|
|
35
|
+
short_help="Create a bookmark for the current user.",
|
|
36
36
|
)
|
|
37
37
|
@click.argument("endpoint_plus_path", type=ENDPOINT_PLUS_REQPATH)
|
|
38
38
|
@click.argument("bookmark_name")
|
|
@@ -20,7 +20,7 @@ from ._common import resolve_id_or_name
|
|
|
20
20
|
$ globus bookmark delete "Bookmark Name"
|
|
21
21
|
----
|
|
22
22
|
""",
|
|
23
|
-
short_help="Delete a bookmark",
|
|
23
|
+
short_help="Delete a bookmark.",
|
|
24
24
|
)
|
|
25
25
|
@click.argument("bookmark_id_or_name")
|
|
26
26
|
@LoginManager.requires_login("transfer")
|
|
@@ -45,11 +45,11 @@ output:
|
|
|
45
45
|
$ globus bookmark list --jmespath='DATA[*].[name, endpoint_id]' --format=unix
|
|
46
46
|
----
|
|
47
47
|
""",
|
|
48
|
-
short_help="List your bookmarks",
|
|
48
|
+
short_help="List your bookmarks.",
|
|
49
49
|
)
|
|
50
50
|
@LoginManager.requires_login("transfer")
|
|
51
51
|
def bookmark_list(login_manager: LoginManager) -> None:
|
|
52
|
-
"""List all bookmarks for the current user"""
|
|
52
|
+
"""List all bookmarks for the current user."""
|
|
53
53
|
from globus_cli.services.transfer import iterable_response_to_dict
|
|
54
54
|
|
|
55
55
|
transfer_client = login_manager.get_transfer_client()
|
|
@@ -28,7 +28,7 @@ $ globus bookmark rename oldname newname
|
|
|
28
28
|
def bookmark_rename(
|
|
29
29
|
login_manager: LoginManager, *, bookmark_id_or_name: str, new_bookmark_name: str
|
|
30
30
|
) -> None:
|
|
31
|
-
"""Change a bookmark's name"""
|
|
31
|
+
"""Change a bookmark's name."""
|
|
32
32
|
transfer_client = login_manager.get_transfer_client()
|
|
33
33
|
bookmark_id = resolve_id_or_name(transfer_client, bookmark_id_or_name)["id"]
|
|
34
34
|
|
|
@@ -28,7 +28,7 @@ If *-v* or *--verbose* is given, output has the following fields:
|
|
|
28
28
|
$ globus ls "$(globus bookmark show BOOKMARK_NAME)"
|
|
29
29
|
----
|
|
30
30
|
""",
|
|
31
|
-
short_help="Resolve a bookmark name or ID to an endpoint:path",
|
|
31
|
+
short_help="Resolve a bookmark name or ID to an endpoint:path.",
|
|
32
32
|
)
|
|
33
33
|
@click.argument("bookmark_id_or_name")
|
|
34
34
|
@LoginManager.requires_login("transfer")
|
|
@@ -81,7 +81,7 @@ class ProfileIndicatorFormatter(formatters.FieldFormatter[bool]):
|
|
|
81
81
|
@click.option("--all", is_flag=True, hidden=True)
|
|
82
82
|
def cli_profile_list(*, all: bool) -> None:
|
|
83
83
|
"""
|
|
84
|
-
List all CLI profiles which have been used
|
|
84
|
+
List all CLI profiles which have been used.
|
|
85
85
|
|
|
86
86
|
These are the values for GLOBUS_PROFILE which have been recorded, as well as
|
|
87
87
|
GLOBUS_CLI_CLIENT_ID values which have been used.
|
|
@@ -22,7 +22,7 @@ from globus_cli.services.gcs import CustomGCSClient
|
|
|
22
22
|
from globus_cli.termio import display
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
@command("guest", short_help="Create a GCSv5 Guest Collection")
|
|
25
|
+
@command("guest", short_help="Create a GCSv5 Guest Collection.")
|
|
26
26
|
@click.argument("MAPPED_COLLECTION_ID", type=click.UUID)
|
|
27
27
|
@click.argument("COLLECTION_BASE_PATH", type=str)
|
|
28
28
|
@click.option(
|
|
@@ -43,7 +43,7 @@ def _posix_staging_policy_options_present(params: dict[str, t.Any]) -> bool:
|
|
|
43
43
|
)
|
|
44
44
|
|
|
45
45
|
|
|
46
|
-
@command("create", short_help="Create a new Mapped Collection")
|
|
46
|
+
@command("create", short_help="Create a new Mapped Collection.")
|
|
47
47
|
@endpoint_id_arg
|
|
48
48
|
@endpointish_params.create(name="collection")
|
|
49
49
|
@identity_id_option
|
|
@@ -5,7 +5,7 @@ from globus_cli.parsing import collection_id_arg, command
|
|
|
5
5
|
from globus_cli.termio import display
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
@command("delete", short_help="Delete an existing Collection")
|
|
8
|
+
@command("delete", short_help="Delete an existing Collection.")
|
|
9
9
|
@collection_id_arg
|
|
10
10
|
@LoginManager.requires_login("transfer")
|
|
11
11
|
def collection_delete(login_manager: LoginManager, *, collection_id: uuid.UUID) -> None:
|
|
@@ -4,10 +4,12 @@ import typing as t
|
|
|
4
4
|
import uuid
|
|
5
5
|
|
|
6
6
|
import click
|
|
7
|
+
from globus_sdk.paging import Paginator
|
|
7
8
|
|
|
8
9
|
from globus_cli.login_manager import LoginManager
|
|
9
10
|
from globus_cli.parsing import command, endpoint_id_arg
|
|
10
11
|
from globus_cli.termio import Field, display, formatters
|
|
12
|
+
from globus_cli.utils import PagingWrapper
|
|
11
13
|
|
|
12
14
|
|
|
13
15
|
class ChoiceSlugified(click.Choice):
|
|
@@ -30,7 +32,7 @@ class ChoiceSlugified(click.Choice):
|
|
|
30
32
|
return value.replace("-", "_")
|
|
31
33
|
|
|
32
34
|
|
|
33
|
-
@command("list", short_help="List all Collections on an Endpoint")
|
|
35
|
+
@command("list", short_help="List all Collections on an Endpoint.")
|
|
34
36
|
@endpoint_id_arg
|
|
35
37
|
@click.option(
|
|
36
38
|
"--filter",
|
|
@@ -82,6 +84,14 @@ created-by-me:
|
|
|
82
84
|
"the ID of the Mapped Collection"
|
|
83
85
|
),
|
|
84
86
|
)
|
|
87
|
+
@click.option(
|
|
88
|
+
"--limit",
|
|
89
|
+
default=25,
|
|
90
|
+
show_default=True,
|
|
91
|
+
metavar="N",
|
|
92
|
+
type=click.IntRange(1),
|
|
93
|
+
help="The maximum number of results to return.",
|
|
94
|
+
)
|
|
85
95
|
@LoginManager.requires_login("auth", "transfer")
|
|
86
96
|
def collection_list(
|
|
87
97
|
login_manager: LoginManager,
|
|
@@ -95,9 +105,10 @@ def collection_list(
|
|
|
95
105
|
...,
|
|
96
106
|
],
|
|
97
107
|
mapped_collection_id: uuid.UUID | None,
|
|
108
|
+
limit: int,
|
|
98
109
|
) -> None:
|
|
99
110
|
"""
|
|
100
|
-
List the Collections on a given Globus Connect Server v5 Endpoint
|
|
111
|
+
List the Collections on a given Globus Connect Server v5 Endpoint.
|
|
101
112
|
"""
|
|
102
113
|
gcs_client = login_manager.get_gcs_client(endpoint_id=endpoint_id)
|
|
103
114
|
auth_client = login_manager.get_auth_client()
|
|
@@ -109,9 +120,15 @@ def collection_list(
|
|
|
109
120
|
params["filter"] = ",".join(filters)
|
|
110
121
|
if include_private_policies:
|
|
111
122
|
params["include"] = "private_policies"
|
|
112
|
-
|
|
123
|
+
|
|
124
|
+
paginator = Paginator.wrap(gcs_client.get_collection_list)
|
|
125
|
+
paginated_call = paginator(**params)
|
|
126
|
+
paging_wrapper = PagingWrapper(
|
|
127
|
+
paginated_call.items(), json_conversion_key="DATA", limit=limit
|
|
128
|
+
)
|
|
129
|
+
|
|
113
130
|
display(
|
|
114
|
-
|
|
131
|
+
paging_wrapper,
|
|
115
132
|
text_mode=display.TABLE,
|
|
116
133
|
fields=[
|
|
117
134
|
Field("ID", "id"),
|
|
@@ -124,4 +141,5 @@ def collection_list(
|
|
|
124
141
|
Field("Collection Type", "collection_type"),
|
|
125
142
|
Field("Storage Gateway ID", "storage_gateway_id"),
|
|
126
143
|
],
|
|
144
|
+
json_converter=paging_wrapper.json_converter,
|
|
127
145
|
)
|
|
@@ -27,7 +27,7 @@ PRIVATE_FIELDS: list[Field] = [
|
|
|
27
27
|
]
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
@command("show", short_help="Show a Collection definition")
|
|
30
|
+
@command("show", short_help="Show a Collection definition.")
|
|
31
31
|
@collection_id_arg
|
|
32
32
|
@click.option(
|
|
33
33
|
"--include-private-policies",
|
|
@@ -44,9 +44,7 @@ def collection_show(
|
|
|
44
44
|
include_private_policies: bool,
|
|
45
45
|
collection_id: uuid.UUID,
|
|
46
46
|
) -> None:
|
|
47
|
-
"""
|
|
48
|
-
Display a Mapped or Guest Collection
|
|
49
|
-
"""
|
|
47
|
+
"""Display a Mapped or Guest Collection."""
|
|
50
48
|
gcs_client = login_manager.get_gcs_client(collection_id=collection_id)
|
|
51
49
|
|
|
52
50
|
query_params = {}
|
|
@@ -30,7 +30,7 @@ class _FullDataField(Field):
|
|
|
30
30
|
return super().get_value(data.full_data)
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
@command("update", short_help="Update a Collection definition")
|
|
33
|
+
@command("update", short_help="Update a Collection definition.")
|
|
34
34
|
@collection_id_arg
|
|
35
35
|
@endpointish_params.update(name="collection")
|
|
36
36
|
@click.option(
|
|
@@ -139,7 +139,7 @@ def collection_update(
|
|
|
139
139
|
sharing_users_deny: list[str] | None,
|
|
140
140
|
) -> None:
|
|
141
141
|
"""
|
|
142
|
-
Update a Mapped or Guest Collection
|
|
142
|
+
Update a Mapped or Guest Collection.
|
|
143
143
|
"""
|
|
144
144
|
if isinstance(sharing_restrict_paths, ParsedJSONData) and not isinstance(
|
|
145
145
|
sharing_restrict_paths.data, dict
|
|
@@ -21,7 +21,7 @@ from globus_cli.termio import Field, display, err_is_terminal, term_is_interacti
|
|
|
21
21
|
|
|
22
22
|
@command(
|
|
23
23
|
"delete",
|
|
24
|
-
short_help="Submit a delete task (asynchronous)",
|
|
24
|
+
short_help="Submit a delete task (asynchronous).",
|
|
25
25
|
adoc_examples="""Delete a single file.
|
|
26
26
|
|
|
27
27
|
[source,bash]
|
|
@@ -117,8 +117,6 @@ def delete_command(
|
|
|
117
117
|
\b
|
|
118
118
|
If you use `--batch` and supply a PATH via the commandline, the commandline PATH is
|
|
119
119
|
treated as a prefix to all of the paths read from the `--batch` input.
|
|
120
|
-
|
|
121
|
-
{AUTOMATIC_ACTIVATION}
|
|
122
120
|
"""
|
|
123
121
|
endpoint_id, path = endpoint_plus_path
|
|
124
122
|
transfer_client = login_manager.get_transfer_client()
|
|
@@ -6,12 +6,13 @@ import click
|
|
|
6
6
|
|
|
7
7
|
from globus_cli.constants import EXPLICIT_NULL
|
|
8
8
|
from globus_cli.endpointish import EntityType
|
|
9
|
+
from globus_cli.types import AnyCommand
|
|
9
10
|
|
|
10
|
-
C = t.TypeVar("C", bound=
|
|
11
|
+
C = t.TypeVar("C", bound=AnyCommand)
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
def validate_endpoint_create_and_update_params(
|
|
14
|
-
entity_type: EntityType, managed: bool, params: dict
|
|
15
|
+
entity_type: EntityType, managed: bool, params: dict[str, t.Any]
|
|
15
16
|
) -> None:
|
|
16
17
|
"""
|
|
17
18
|
Given an endpoint type and option values
|
|
@@ -16,7 +16,7 @@ from globus_cli.termio import display
|
|
|
16
16
|
"--web",
|
|
17
17
|
is_flag=True,
|
|
18
18
|
default=False,
|
|
19
|
-
help="Use web activation. Mutually exclusive with --myproxy
|
|
19
|
+
help="Use web activation. Mutually exclusive with --myproxy.",
|
|
20
20
|
)
|
|
21
21
|
@click.option(
|
|
22
22
|
"--no-browser",
|
|
@@ -32,7 +32,7 @@ from globus_cli.termio import display
|
|
|
32
32
|
"--myproxy",
|
|
33
33
|
is_flag=True,
|
|
34
34
|
default=False,
|
|
35
|
-
help="Use myproxy activation. Mutually exclusive with --web
|
|
35
|
+
help="Use myproxy activation. Mutually exclusive with --web.",
|
|
36
36
|
)
|
|
37
37
|
@click.option(
|
|
38
38
|
"--myproxy-username",
|
|
@@ -50,24 +50,6 @@ from globus_cli.termio import display
|
|
|
50
50
|
"lifetime which it will use if this value is too high"
|
|
51
51
|
),
|
|
52
52
|
)
|
|
53
|
-
@click.option(
|
|
54
|
-
"--delegate-proxy",
|
|
55
|
-
metavar="X.509_PEM_FILE",
|
|
56
|
-
help=(
|
|
57
|
-
"Use delegate proxy activation, takes an X.509 "
|
|
58
|
-
"certificate in pem format as an argument. Mutually "
|
|
59
|
-
"exclusive with --web and --myproxy."
|
|
60
|
-
),
|
|
61
|
-
)
|
|
62
|
-
@click.option(
|
|
63
|
-
"--proxy-lifetime",
|
|
64
|
-
type=int,
|
|
65
|
-
default=None,
|
|
66
|
-
help=(
|
|
67
|
-
"Set a lifetime in hours for the proxy generated with "
|
|
68
|
-
"--delegate-proxy. [default: 12]"
|
|
69
|
-
),
|
|
70
|
-
)
|
|
71
53
|
@click.option(
|
|
72
54
|
"--no-autoactivate",
|
|
73
55
|
is_flag=True,
|
|
@@ -83,7 +65,7 @@ from globus_cli.termio import display
|
|
|
83
65
|
default=False,
|
|
84
66
|
help="Force activation even if endpoint is already activated.",
|
|
85
67
|
)
|
|
86
|
-
@mutex_option_group("--web", "--myproxy"
|
|
68
|
+
@mutex_option_group("--web", "--myproxy")
|
|
87
69
|
@LoginManager.requires_login("transfer")
|
|
88
70
|
def endpoint_activate(
|
|
89
71
|
login_manager: LoginManager,
|
|
@@ -95,15 +77,13 @@ def endpoint_activate(
|
|
|
95
77
|
myproxy_lifetime: int | None,
|
|
96
78
|
web: bool,
|
|
97
79
|
no_browser: bool,
|
|
98
|
-
delegate_proxy: str | None,
|
|
99
|
-
proxy_lifetime: int | None,
|
|
100
80
|
no_autoactivate: bool,
|
|
101
81
|
force: bool,
|
|
102
82
|
) -> None:
|
|
103
83
|
"""
|
|
104
|
-
Activate an endpoint
|
|
105
|
-
|
|
106
|
-
Note that --web
|
|
84
|
+
Activate an endpoint.
|
|
85
|
+
|
|
86
|
+
Note that --web and --myproxy activation are mutually
|
|
107
87
|
exclusive options.
|
|
108
88
|
|
|
109
89
|
\b
|
|
@@ -130,28 +110,13 @@ def endpoint_activate(
|
|
|
130
110
|
prompted to hide your inputs and keep your password out of your
|
|
131
111
|
command history, but you may pass your password with the hidden
|
|
132
112
|
--myproxy-password or -P options.
|
|
133
|
-
|
|
134
|
-
\b
|
|
135
|
-
To use Delegate Proxy activation use the --delegate-proxy option with a
|
|
136
|
-
file containing an X.509 certificate as an argument (e.g. an X.509
|
|
137
|
-
gotten from the myproxy-logon command). This certificate must
|
|
138
|
-
be a valid credential or proxy credential for the user from an identity
|
|
139
|
-
provider accepted by the endpoint being activated, and the endpoint must be
|
|
140
|
-
configured with a gridmap that will match the globus user using this
|
|
141
|
-
command with the local user the certificate was made to. Note if the X.509
|
|
142
|
-
is valid, but the endpoint does not recognize the identity provider or the
|
|
143
|
-
user the error will not be detected until the user attempts to perform an
|
|
144
|
-
operation on the endpoint.
|
|
145
113
|
"""
|
|
146
|
-
from globus_cli.services.transfer import
|
|
147
|
-
activation_requirements_help_text,
|
|
148
|
-
fill_delegate_proxy_activation_requirements,
|
|
149
|
-
)
|
|
114
|
+
from globus_cli.services.transfer import activation_requirements_help_text
|
|
150
115
|
|
|
151
116
|
transfer_client = login_manager.get_transfer_client()
|
|
152
117
|
|
|
153
118
|
# validate options
|
|
154
|
-
if no_autoactivate and not (myproxy or web
|
|
119
|
+
if no_autoactivate and not (myproxy or web):
|
|
155
120
|
raise click.UsageError(
|
|
156
121
|
"--no-autoactivate requires another activation method be given."
|
|
157
122
|
)
|
|
@@ -166,8 +131,6 @@ def endpoint_activate(
|
|
|
166
131
|
raise click.UsageError("--myproxy-lifetime requires --myproxy.")
|
|
167
132
|
if no_browser and not web:
|
|
168
133
|
raise click.UsageError("--no-browser requires --web.")
|
|
169
|
-
if proxy_lifetime and not delegate_proxy:
|
|
170
|
-
raise click.UsageError("--proxy-lifetime requires --delegate-proxy.")
|
|
171
134
|
|
|
172
135
|
# check if endpoint is already activated unless --force
|
|
173
136
|
if not force:
|
|
@@ -261,17 +224,5 @@ def endpoint_activate(
|
|
|
261
224
|
webbrowser.open(url, new=1)
|
|
262
225
|
res = {"message": "Browser opened to web activation page", "url": url}
|
|
263
226
|
|
|
264
|
-
# delegate proxy activation
|
|
265
|
-
elif delegate_proxy:
|
|
266
|
-
requirements_data = transfer_client.endpoint_get_activation_requirements(
|
|
267
|
-
endpoint_id
|
|
268
|
-
).data
|
|
269
|
-
filled_requirements_data = fill_delegate_proxy_activation_requirements(
|
|
270
|
-
requirements_data, delegate_proxy, lifetime_hours=proxy_lifetime or 12
|
|
271
|
-
)
|
|
272
|
-
res = transfer_client.endpoint_activate(
|
|
273
|
-
endpoint_id, requirements_data=filled_requirements_data
|
|
274
|
-
)
|
|
275
|
-
|
|
276
227
|
# output
|
|
277
228
|
display(res, text_mode=display.RAW, response_key="message")
|
|
@@ -122,33 +122,33 @@ For GCS, use the globus-connect-server CLI from your Endpoint."""
|
|
|
122
122
|
|
|
123
123
|
# build options into a dict for kwarg-expansion
|
|
124
124
|
kwargs = ExplicitNullType.nullify_dict(
|
|
125
|
-
|
|
126
|
-
contact_email
|
|
127
|
-
contact_info
|
|
128
|
-
default_directory
|
|
129
|
-
department
|
|
130
|
-
description
|
|
131
|
-
disable_verify
|
|
132
|
-
display_name
|
|
133
|
-
force_encryption
|
|
134
|
-
info_link
|
|
135
|
-
keywords
|
|
136
|
-
location
|
|
137
|
-
managed
|
|
138
|
-
max_concurrency
|
|
139
|
-
max_parallelism
|
|
140
|
-
myproxy_dn
|
|
141
|
-
myproxy_server
|
|
142
|
-
network_use
|
|
143
|
-
oauth_server
|
|
144
|
-
organization
|
|
145
|
-
preferred_concurrency
|
|
146
|
-
preferred_parallelism
|
|
147
|
-
public
|
|
148
|
-
subscription_id
|
|
149
|
-
user_message
|
|
150
|
-
user_message_link
|
|
151
|
-
|
|
125
|
+
{
|
|
126
|
+
"contact_email": contact_email,
|
|
127
|
+
"contact_info": contact_info,
|
|
128
|
+
"default_directory": default_directory,
|
|
129
|
+
"department": department,
|
|
130
|
+
"description": description,
|
|
131
|
+
"disable_verify": disable_verify,
|
|
132
|
+
"display_name": display_name,
|
|
133
|
+
"force_encryption": force_encryption,
|
|
134
|
+
"info_link": info_link,
|
|
135
|
+
"keywords": keywords,
|
|
136
|
+
"location": location,
|
|
137
|
+
"managed": managed,
|
|
138
|
+
"max_concurrency": max_concurrency,
|
|
139
|
+
"max_parallelism": max_parallelism,
|
|
140
|
+
"myproxy_dn": myproxy_dn,
|
|
141
|
+
"myproxy_server": myproxy_server,
|
|
142
|
+
"network_use": network_use,
|
|
143
|
+
"oauth_server": oauth_server,
|
|
144
|
+
"organization": organization,
|
|
145
|
+
"preferred_concurrency": preferred_concurrency,
|
|
146
|
+
"preferred_parallelism": preferred_parallelism,
|
|
147
|
+
"public": public,
|
|
148
|
+
"subscription_id": subscription_id,
|
|
149
|
+
"user_message": user_message,
|
|
150
|
+
"user_message_link": user_message_link,
|
|
151
|
+
}
|
|
152
152
|
)
|
|
153
153
|
kwargs["is_globus_connect"] = personal or None
|
|
154
154
|
|
|
@@ -6,7 +6,7 @@ from globus_cli.parsing import command, one_use_option
|
|
|
6
6
|
|
|
7
7
|
@command(
|
|
8
8
|
"local-id",
|
|
9
|
-
short_help="Display UUID of locally installed endpoint",
|
|
9
|
+
short_help="Display UUID of locally installed endpoint.",
|
|
10
10
|
disable_options=["format", "map_http_status"],
|
|
11
11
|
adoc_examples="""Do a Globus ls command on the current local endpoint.
|
|
12
12
|
|
{globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/my_shared_endpoint_list.py
RENAMED
|
@@ -7,7 +7,7 @@ from globus_cli.termio import display
|
|
|
7
7
|
|
|
8
8
|
@command(
|
|
9
9
|
"my-shared-endpoint-list",
|
|
10
|
-
short_help="List
|
|
10
|
+
short_help="List the current user's shared endpoints.",
|
|
11
11
|
adoc_examples="""[source,bash]
|
|
12
12
|
----
|
|
13
13
|
$ ep_id=aa752cea-8222-5bc8-acd9-555b090c0ccb
|