globus-cli 3.34.0__tar.gz → 3.35.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.34.0/src/globus_cli.egg-info → globus_cli-3.35.0}/PKG-INFO +3 -3
- {globus_cli-3.34.0 → globus_cli-3.35.0}/pyproject.toml +37 -4
- globus_cli-3.35.0/src/globus_cli/_click_compat.py +55 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/api.py +5 -2
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/collection/create/guest.py +4 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/collection/list.py +16 -1
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/collection/update.py +4 -6
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/create.py +38 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/list.py +22 -6
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/run/list.py +34 -2
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/show.py +17 -1
- globus_cli-3.35.0/src/globus_cli/commands/flows/start.py +310 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/update.py +36 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcp/create/guest.py +4 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcp/update/guest.py +4 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcs/endpoint/update.py +3 -1
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/list_commands.py +2 -5
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/login.py +3 -1
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/commands.py +18 -13
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/param_types/__init__.py +6 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/param_types/delimited.py +59 -5
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/param_types/endpoint_plus_path.py +4 -1
- globus_cli-3.35.0/src/globus_cli/parsing/param_types/guest_activity_notify_param.py +200 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/param_types/identity_type.py +4 -1
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/param_types/json_strorfile.py +3 -1
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/param_types/notify_param.py +4 -1
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/param_types/nullable.py +7 -3
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/shared_options/__init__.py +42 -1
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/reflect.py +4 -4
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/version.py +1 -1
- {globus_cli-3.34.0 → globus_cli-3.35.0/src/globus_cli.egg-info}/PKG-INFO +3 -3
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli.egg-info/SOURCES.txt +2 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli.egg-info/requires.txt +1 -1
- globus_cli-3.34.0/src/globus_cli/commands/flows/start.py +0 -154
- {globus_cli-3.34.0 → globus_cli-3.35.0}/LICENSE +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/README.rst +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/setup.cfg +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/setup.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/__main__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/_warnings.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/bookmark/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/bookmark/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/bookmark/create.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/bookmark/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/bookmark/list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/bookmark/rename.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/bookmark/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/cli_profile_list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/collection/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/collection/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/collection/create/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/collection/create/mapped.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/collection/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/collection/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/activate.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/create.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/deactivate.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/is_activated.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/local_id.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/my_shared_endpoint_list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/permission/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/permission/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/permission/create.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/permission/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/permission/list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/permission/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/permission/update.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/role/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/role/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/role/create.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/role/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/role/list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/role/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/search.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/server/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/server/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/server/add.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/server/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/server/list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/server/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/server/update.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/set_subscription_id.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/storage_gateway/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/storage_gateway/list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/update.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/user_credential/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/user_credential/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/user_credential/create/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/user_credential/create/from_json.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/user_credential/create/posix.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/user_credential/create/s3.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/user_credential/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/user_credential/list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/user_credential/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/user_credential/update/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/endpoint/user_credential/update/from_json.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/run/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/run/cancel.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/run/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/run/resume.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/run/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/run/show_definition.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/run/show_logs.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/run/update.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/flows/validate.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcp/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcp/create/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcp/create/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcp/create/mapped.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcp/set_subscription_id.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcp/update/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcp/update/mapped.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcs/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcs/endpoint/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcs/endpoint/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcs/endpoint/role/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcs/endpoint/role/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcs/endpoint/role/create.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcs/endpoint/role/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcs/endpoint/role/list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcs/endpoint/role/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcs/endpoint/set_subscription_id.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/gcs/endpoint/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/get_identities.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/create.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/get_by_subscription.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/get_subscription_info.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/invite/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/invite/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/invite/accept.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/invite/decline.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/join.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/leave.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/member/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/member/add.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/member/approve.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/member/invite.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/member/list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/member/reject.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/member/remove.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/set_policies.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/group/update.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/logout.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/ls.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/mkdir.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/rename.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/rm.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/delete_by_query.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/index/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/index/create.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/index/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/index/list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/index/role/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/index/role/create.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/index/role/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/index/role/list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/index/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/ingest.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/query.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/subject/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/subject/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/subject/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/task/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/task/list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/search/task/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/session/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/session/consent.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/session/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/session/update.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/stat.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/task/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/task/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/task/cancel.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/task/event_list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/task/generate_submission_id.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/task/list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/task/pause_info.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/task/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/task/update.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/task/wait.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/timer/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/timer/_common.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/timer/create/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/timer/create/transfer.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/timer/delete.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/timer/list.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/timer/pause.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/timer/resume.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/timer/show.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/transfer.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/update.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/version.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/commands/whoami.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/constants.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/endpointish/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/endpointish/endpointish.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/endpointish/entity_type.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/endpointish/errors.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/exception_handling/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/exception_handling/hooks/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/exception_handling/hooks/auth_requirements.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/exception_handling/hooks/authapi_hooks.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/exception_handling/hooks/endpoint_types.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/exception_handling/hooks/flows_hooks.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/exception_handling/hooks/generic_hooks.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/exception_handling/hooks/search_hooks.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/exception_handling/hooks/transfer_hooks.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/exception_handling/messages.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/exception_handling/registry.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/globus_cli_flake8.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/login_manager/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/login_manager/_old_config.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/login_manager/auth_flows.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/login_manager/client_login.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/login_manager/context.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/login_manager/errors.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/login_manager/local_server.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/login_manager/manager.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/login_manager/scopes.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/login_manager/storage.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/login_manager/utils.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/command_state.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/mutex_group.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/param_classes.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/param_types/location.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/param_types/task_path.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/param_types/timedelta.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/shared_callbacks.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/shared_options/endpointish.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/shared_options/id_args.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/shared_options/transfer_task_options.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/parsing/shell_completion.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/services/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/services/auth.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/services/gcs.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/services/transfer/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/services/transfer/activation.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/services/transfer/client.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/services/transfer/data.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/services/transfer/recursive_ls.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/_display.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/context.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/errors.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/field.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/formatters/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/formatters/auth.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/formatters/base.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/formatters/compound.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/formatters/primitive.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/printers/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/printers/base.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/printers/custom_printer.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/printers/json_printer.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/printers/record_printer.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/printers/table_printer.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/printers/unix_printer/__init__.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/printers/unix_printer/awscli_text.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/printers/unix_printer/unix_printer.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/termio/server_timing.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/types.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli/utils.py +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli.egg-info/dependency_links.txt +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli.egg-info/entry_points.txt +0 -0
- {globus_cli-3.34.0 → globus_cli-3.35.0}/src/globus_cli.egg-info/top_level.txt +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: globus-cli
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.35.0
|
|
4
4
|
Summary: Globus CLI
|
|
5
5
|
Author-email: Stephen Rosen <sirosen@globus.org>
|
|
6
|
+
License-Expression: Apache-2.0
|
|
6
7
|
Project-URL: homepage, https://github.com/globus/globus-cli
|
|
7
8
|
Keywords: globus,cli,command line
|
|
8
9
|
Classifier: Development Status :: 5 - Production/Stable
|
|
9
10
|
Classifier: Intended Audience :: Developers
|
|
10
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
11
11
|
Classifier: Operating System :: POSIX
|
|
12
12
|
Classifier: Programming Language :: Python
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.8
|
|
@@ -19,7 +19,7 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
19
19
|
Requires-Python: >=3.8
|
|
20
20
|
Description-Content-Type: text/x-rst
|
|
21
21
|
License-File: LICENSE
|
|
22
|
-
Requires-Dist: globus-sdk==3.
|
|
22
|
+
Requires-Dist: globus-sdk==3.56.0
|
|
23
23
|
Requires-Dist: click<9,>=8.1.4
|
|
24
24
|
Requires-Dist: jmespath==1.0.1
|
|
25
25
|
Requires-Dist: packaging>=17.0
|
|
@@ -9,6 +9,7 @@ readme = "README.rst"
|
|
|
9
9
|
authors = [
|
|
10
10
|
{ name = "Stephen Rosen", email = "sirosen@globus.org" },
|
|
11
11
|
]
|
|
12
|
+
license = "Apache-2.0"
|
|
12
13
|
keywords = [
|
|
13
14
|
"globus",
|
|
14
15
|
"cli",
|
|
@@ -17,7 +18,6 @@ keywords = [
|
|
|
17
18
|
classifiers = [
|
|
18
19
|
"Development Status :: 5 - Production/Stable",
|
|
19
20
|
"Intended Audience :: Developers",
|
|
20
|
-
"License :: OSI Approved :: Apache Software License",
|
|
21
21
|
"Operating System :: POSIX",
|
|
22
22
|
"Programming Language :: Python",
|
|
23
23
|
"Programming Language :: Python :: 3.8",
|
|
@@ -29,7 +29,7 @@ classifiers = [
|
|
|
29
29
|
]
|
|
30
30
|
requires-python = ">=3.8"
|
|
31
31
|
dependencies = [
|
|
32
|
-
"globus-sdk==3.
|
|
32
|
+
"globus-sdk==3.56.0",
|
|
33
33
|
"click>=8.1.4,<9",
|
|
34
34
|
"jmespath==1.0.1",
|
|
35
35
|
"packaging>=17.0",
|
|
@@ -88,8 +88,41 @@ attr = "globus_cli.version.__version__"
|
|
|
88
88
|
profile = "black"
|
|
89
89
|
|
|
90
90
|
[tool.pytest.ini_options]
|
|
91
|
-
addopts = "--timeout 3 --color=yes"
|
|
92
|
-
filterwarnings = [
|
|
91
|
+
addopts = "-n auto --maxprocesses 4 --dist loadscope --timeout 3 --color=yes"
|
|
92
|
+
filterwarnings = [
|
|
93
|
+
"error",
|
|
94
|
+
# ignore SDK warnings for 'filter_role' until
|
|
95
|
+
# 'filter_roles' update is applied
|
|
96
|
+
"ignore:The `filter_role` parameter is deprecated.:globus_sdk.exc.RemovedInV4Warning:",
|
|
97
|
+
]
|
|
98
|
+
|
|
99
|
+
[tool.coverage.run]
|
|
100
|
+
parallel = true
|
|
101
|
+
source = ["globus_cli"]
|
|
102
|
+
[tool.coverage.paths]
|
|
103
|
+
source = [
|
|
104
|
+
"src/",
|
|
105
|
+
"*/site-packages/",
|
|
106
|
+
]
|
|
107
|
+
[tool.coverage.report]
|
|
108
|
+
show_missing = true
|
|
109
|
+
skip_covered = true
|
|
110
|
+
fail_under = 87
|
|
111
|
+
exclude_lines =[
|
|
112
|
+
# the pragma to disable coverage
|
|
113
|
+
"pragma: no cover",
|
|
114
|
+
# don't complain if tests don't hit unimplemented methods/modes
|
|
115
|
+
"raise NotImplementedError",
|
|
116
|
+
"assert_never()",
|
|
117
|
+
# don't check on executable components of importable modules
|
|
118
|
+
"if __name__ == .__main__.:",
|
|
119
|
+
# don't check coverage on type checking conditionals
|
|
120
|
+
"if t.TYPE_CHECKING:",
|
|
121
|
+
# skip overloads
|
|
122
|
+
"@t.overload",
|
|
123
|
+
# skip abstract methods
|
|
124
|
+
"@abc.abstractmethod",
|
|
125
|
+
]
|
|
93
126
|
|
|
94
127
|
[tool.scriv]
|
|
95
128
|
version = "literal: src/globus_cli/version.py: __version__"
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"""
|
|
2
|
+
A compatibility module for handling click v8.2.0+ and 8.1.x API differences.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
import functools
|
|
6
|
+
import importlib.metadata
|
|
7
|
+
import typing as t
|
|
8
|
+
|
|
9
|
+
import click
|
|
10
|
+
|
|
11
|
+
C = t.TypeVar("C", bound=t.Callable[..., t.Any])
|
|
12
|
+
|
|
13
|
+
CLICK_VERSION = importlib.metadata.version("click")
|
|
14
|
+
|
|
15
|
+
OLDER_CLICK_API = CLICK_VERSION.startswith("8.1.")
|
|
16
|
+
NEWER_CLICK_API = not OLDER_CLICK_API
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def shim_get_metavar(f: C) -> C:
|
|
20
|
+
"""
|
|
21
|
+
Make a ParamType.get_metavar function compatible with both the 8.1.x and
|
|
22
|
+
the 8.2.0+ APIs.
|
|
23
|
+
|
|
24
|
+
Under 8.2.0, `ctx: click.Context` is passed, while older versions do not.
|
|
25
|
+
Therefore, do nothing on 8.2.0+ and pass `ctx=None' if the older click
|
|
26
|
+
version is in use.
|
|
27
|
+
|
|
28
|
+
NOTE: we pass `ctx=None` which violates the declared types (but works at
|
|
29
|
+
runtime) because when running under older click versions, there may not be
|
|
30
|
+
a current click context.
|
|
31
|
+
"""
|
|
32
|
+
if OLDER_CLICK_API:
|
|
33
|
+
|
|
34
|
+
@functools.wraps(f)
|
|
35
|
+
def wrapper(*args: t.Any, **kwargs: t.Any) -> t.Any:
|
|
36
|
+
return f(*args, **kwargs, ctx=None)
|
|
37
|
+
|
|
38
|
+
return wrapper # type: ignore[return-value]
|
|
39
|
+
|
|
40
|
+
return f
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def shim_get_missing_message(f: C) -> C:
|
|
44
|
+
"""
|
|
45
|
+
Shim `get_missing_message` in a similar way to `get_metavar` above.
|
|
46
|
+
"""
|
|
47
|
+
if OLDER_CLICK_API:
|
|
48
|
+
|
|
49
|
+
@functools.wraps(f)
|
|
50
|
+
def wrapper(*args: t.Any, **kwargs: t.Any) -> t.Any:
|
|
51
|
+
return f(*args, **kwargs, ctx=click.get_current_context())
|
|
52
|
+
|
|
53
|
+
return wrapper # type: ignore[return-value]
|
|
54
|
+
|
|
55
|
+
return f
|
|
@@ -9,6 +9,7 @@ import click
|
|
|
9
9
|
import globus_sdk
|
|
10
10
|
|
|
11
11
|
from globus_cli import termio, version
|
|
12
|
+
from globus_cli._click_compat import shim_get_metavar
|
|
12
13
|
from globus_cli.login_manager import LoginManager, is_client_login
|
|
13
14
|
from globus_cli.login_manager.scopes import CLI_SCOPE_REQUIREMENTS
|
|
14
15
|
from globus_cli.parsing import command, endpoint_id_arg, group, mutex_option_group
|
|
@@ -19,7 +20,8 @@ C = t.TypeVar("C", bound=AnyCommand)
|
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
class QueryParamType(click.ParamType):
|
|
22
|
-
|
|
23
|
+
@shim_get_metavar
|
|
24
|
+
def get_metavar(self, param: click.Parameter, ctx: click.Context) -> str:
|
|
23
25
|
return "Key=Value"
|
|
24
26
|
|
|
25
27
|
def get_type_annotation(self, param: click.Parameter) -> type:
|
|
@@ -44,7 +46,8 @@ class QueryParamType(click.ParamType):
|
|
|
44
46
|
|
|
45
47
|
|
|
46
48
|
class HeaderParamType(click.ParamType):
|
|
47
|
-
|
|
49
|
+
@shim_get_metavar
|
|
50
|
+
def get_metavar(self, param: click.Parameter, ctx: click.Context) -> str:
|
|
48
51
|
return "Key:Value"
|
|
49
52
|
|
|
50
53
|
def get_type_annotation(self, param: click.Parameter) -> type:
|
|
@@ -17,6 +17,7 @@ from globus_cli.endpointish import EntityType
|
|
|
17
17
|
from globus_cli.login_manager import LoginManager, MissingLoginError
|
|
18
18
|
from globus_cli.login_manager.context import LoginContext
|
|
19
19
|
from globus_cli.parsing import command, endpointish_params, mutex_option_group
|
|
20
|
+
from globus_cli.parsing.shared_options import activity_notifications_option
|
|
20
21
|
from globus_cli.services.gcs import CustomGCSClient
|
|
21
22
|
from globus_cli.termio import display
|
|
22
23
|
|
|
@@ -42,6 +43,7 @@ from globus_cli.termio import display
|
|
|
42
43
|
@mutex_option_group("--user-credential-id", "--local-username")
|
|
43
44
|
@endpointish_params.create(name="collection")
|
|
44
45
|
@identity_id_option
|
|
46
|
+
@activity_notifications_option("GCS")
|
|
45
47
|
@click.option(
|
|
46
48
|
"--enable-https/--disable-https",
|
|
47
49
|
"enable_https",
|
|
@@ -74,6 +76,7 @@ def collection_create_guest(
|
|
|
74
76
|
organization: str | None | ExplicitNullType,
|
|
75
77
|
user_message: str | None | ExplicitNullType,
|
|
76
78
|
user_message_link: str | None | ExplicitNullType,
|
|
79
|
+
activity_notifications: dict[str, list[str]] | None | ExplicitNullType,
|
|
77
80
|
verify: dict[str, bool],
|
|
78
81
|
) -> None:
|
|
79
82
|
"""
|
|
@@ -99,6 +102,7 @@ def collection_create_guest(
|
|
|
99
102
|
|
|
100
103
|
converted_kwargs: dict[str, t.Any] = ExplicitNullType.nullify_dict(
|
|
101
104
|
{
|
|
105
|
+
"activity_notification_policy": activity_notifications,
|
|
102
106
|
"collection_base_path": collection_base_path,
|
|
103
107
|
"contact_info": contact_info,
|
|
104
108
|
"contact_email": contact_email,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
3
4
|
import typing as t
|
|
4
5
|
import uuid
|
|
5
6
|
|
|
@@ -11,8 +12,22 @@ from globus_cli.parsing import command, endpoint_id_arg
|
|
|
11
12
|
from globus_cli.termio import Field, display, formatters
|
|
12
13
|
from globus_cli.utils import PagingWrapper
|
|
13
14
|
|
|
15
|
+
if sys.version_info >= (3, 10):
|
|
16
|
+
from typing import TypeAlias
|
|
17
|
+
else:
|
|
18
|
+
from typing_extensions import TypeAlias
|
|
14
19
|
|
|
15
|
-
|
|
20
|
+
# until our minimum click version is 8.2.0+ , we need to handle the fact that
|
|
21
|
+
# click.Choice became a generic in 8.2.0
|
|
22
|
+
# we cannot leave it without a defined type parameter, as we have
|
|
23
|
+
# "no-any-generics" set for mypy
|
|
24
|
+
if t.TYPE_CHECKING:
|
|
25
|
+
ChoiceType: TypeAlias = click.Choice[str]
|
|
26
|
+
else:
|
|
27
|
+
ChoiceType = click.Choice
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class ChoiceSlugified(ChoiceType):
|
|
16
31
|
"""
|
|
17
32
|
Allow either hyphens or underscores, e.g. both 'mapped-collections' or
|
|
18
33
|
'mapped_collections'
|
|
@@ -18,6 +18,7 @@ from globus_cli.parsing import (
|
|
|
18
18
|
emptyable_opt_list_callback,
|
|
19
19
|
endpointish_params,
|
|
20
20
|
)
|
|
21
|
+
from globus_cli.parsing.shared_options import activity_notifications_option
|
|
21
22
|
from globus_cli.termio import Field, display
|
|
22
23
|
|
|
23
24
|
_MULTI_USE_OPTION_STR = "Give this option multiple times in a single command"
|
|
@@ -33,12 +34,6 @@ class _FullDataField(Field):
|
|
|
33
34
|
@command("update", short_help="Update a Collection definition.")
|
|
34
35
|
@collection_id_arg
|
|
35
36
|
@endpointish_params.update(name="collection")
|
|
36
|
-
@click.option(
|
|
37
|
-
"--force-encryption/--no-force-encryption",
|
|
38
|
-
"force_encryption",
|
|
39
|
-
default=None,
|
|
40
|
-
help="When set, all transfers to and from this collection are always encrypted.",
|
|
41
|
-
)
|
|
42
37
|
@click.option(
|
|
43
38
|
"--sharing-restrict-paths",
|
|
44
39
|
type=JSONStringOrFile(null="null"),
|
|
@@ -110,10 +105,12 @@ class _FullDataField(Field):
|
|
|
110
105
|
'Set a value of "" to clear this.'
|
|
111
106
|
),
|
|
112
107
|
)
|
|
108
|
+
@activity_notifications_option("GCS")
|
|
113
109
|
@LoginManager.requires_login("auth", "transfer")
|
|
114
110
|
def collection_update(
|
|
115
111
|
login_manager: LoginManager,
|
|
116
112
|
*,
|
|
113
|
+
activity_notifications: dict[str, list[str]] | None | ExplicitNullType,
|
|
117
114
|
collection_id: uuid.UUID,
|
|
118
115
|
display_name: str | None,
|
|
119
116
|
description: str | None | ExplicitNullType,
|
|
@@ -181,6 +178,7 @@ def collection_update(
|
|
|
181
178
|
"user_message_link": user_message_link,
|
|
182
179
|
"sharing_users_allow": sharing_users_allow,
|
|
183
180
|
"sharing_users_deny": sharing_users_deny,
|
|
181
|
+
"activity_notification_policy": activity_notifications,
|
|
184
182
|
}
|
|
185
183
|
)
|
|
186
184
|
converted_kwargs.update(verify)
|
|
@@ -38,6 +38,30 @@ ROLE_TYPES = ("flow_viewer", "flow_starter", "flow_administrator", "flow_owner")
|
|
|
38
38
|
@starters_option
|
|
39
39
|
@viewers_option
|
|
40
40
|
@keywords_option
|
|
41
|
+
@click.option(
|
|
42
|
+
"--run-manager",
|
|
43
|
+
"run_managers",
|
|
44
|
+
type=str,
|
|
45
|
+
multiple=True,
|
|
46
|
+
help="""
|
|
47
|
+
A principal that may manage the flow's runs.
|
|
48
|
+
|
|
49
|
+
This option can be specified multiple times
|
|
50
|
+
to create a list of run managers.
|
|
51
|
+
""",
|
|
52
|
+
)
|
|
53
|
+
@click.option(
|
|
54
|
+
"--run-monitor",
|
|
55
|
+
"run_monitors",
|
|
56
|
+
type=str,
|
|
57
|
+
multiple=True,
|
|
58
|
+
help="""
|
|
59
|
+
A principal that may monitor the flow's runs.
|
|
60
|
+
|
|
61
|
+
This option can be specified multiple times
|
|
62
|
+
to create a list of run monitors.
|
|
63
|
+
""",
|
|
64
|
+
)
|
|
41
65
|
@click.option(
|
|
42
66
|
"--subscription-id",
|
|
43
67
|
help="Set a subscription_id for the flow, marking it as subscription tier.",
|
|
@@ -56,6 +80,8 @@ def create_command(
|
|
|
56
80
|
starters: tuple[str, ...],
|
|
57
81
|
viewers: tuple[str, ...],
|
|
58
82
|
keywords: tuple[str, ...],
|
|
83
|
+
run_managers: tuple[str, ...],
|
|
84
|
+
run_monitors: tuple[str, ...],
|
|
59
85
|
subscription_id: uuid.UUID | None,
|
|
60
86
|
) -> None:
|
|
61
87
|
"""
|
|
@@ -106,6 +132,8 @@ def create_command(
|
|
|
106
132
|
flow_starters=list(starters),
|
|
107
133
|
flow_administrators=list(administrators),
|
|
108
134
|
keywords=list(keywords),
|
|
135
|
+
run_managers=list(run_managers),
|
|
136
|
+
run_monitors=list(run_monitors),
|
|
109
137
|
subscription_id=subscription_id,
|
|
110
138
|
)
|
|
111
139
|
|
|
@@ -141,6 +169,16 @@ def create_command(
|
|
|
141
169
|
"flow_starters",
|
|
142
170
|
formatter=formatters.ArrayFormatter(element_formatter=principal_formatter),
|
|
143
171
|
),
|
|
172
|
+
Field(
|
|
173
|
+
"Run Managers",
|
|
174
|
+
"run_managers",
|
|
175
|
+
formatter=formatters.ArrayFormatter(element_formatter=principal_formatter),
|
|
176
|
+
),
|
|
177
|
+
Field(
|
|
178
|
+
"Run Monitors",
|
|
179
|
+
"run_monitors",
|
|
180
|
+
formatter=formatters.ArrayFormatter(element_formatter=principal_formatter),
|
|
181
|
+
),
|
|
144
182
|
]
|
|
145
183
|
|
|
146
184
|
display(res, fields=fields, text_mode=display.RECORD)
|
|
@@ -10,7 +10,14 @@ from globus_cli.parsing import ColonDelimitedChoiceTuple, command
|
|
|
10
10
|
from globus_cli.termio import Field, display, formatters
|
|
11
11
|
from globus_cli.utils import PagingWrapper
|
|
12
12
|
|
|
13
|
-
ROLE_TYPES = (
|
|
13
|
+
ROLE_TYPES = (
|
|
14
|
+
"flow_viewer",
|
|
15
|
+
"flow_starter",
|
|
16
|
+
"flow_administrator",
|
|
17
|
+
"flow_owner",
|
|
18
|
+
"run_manager",
|
|
19
|
+
"run_monitor",
|
|
20
|
+
)
|
|
14
21
|
ORDER_BY_FIELDS = (
|
|
15
22
|
"id",
|
|
16
23
|
"scope_string",
|
|
@@ -29,8 +36,10 @@ ORDER_BY_FIELDS = (
|
|
|
29
36
|
@command("list")
|
|
30
37
|
@click.option(
|
|
31
38
|
"--filter-role",
|
|
39
|
+
"filter_roles",
|
|
32
40
|
type=click.Choice(ROLE_TYPES),
|
|
33
41
|
help="Filter results by the flow's role type associated with the caller",
|
|
42
|
+
multiple=True,
|
|
34
43
|
)
|
|
35
44
|
@click.option(
|
|
36
45
|
"--filter-fulltext",
|
|
@@ -71,10 +80,17 @@ ORDER_BY_FIELDS = (
|
|
|
71
80
|
def list_command(
|
|
72
81
|
login_manager: LoginManager,
|
|
73
82
|
*,
|
|
74
|
-
|
|
75
|
-
t.Literal[
|
|
76
|
-
|
|
77
|
-
|
|
83
|
+
filter_roles: tuple[
|
|
84
|
+
t.Literal[
|
|
85
|
+
"flow_viewer",
|
|
86
|
+
"flow_starter",
|
|
87
|
+
"flow_administrator",
|
|
88
|
+
"flow_owner",
|
|
89
|
+
"run_manager",
|
|
90
|
+
"run_monitor",
|
|
91
|
+
],
|
|
92
|
+
...,
|
|
93
|
+
],
|
|
78
94
|
orderby: tuple[
|
|
79
95
|
tuple[
|
|
80
96
|
t.Literal[
|
|
@@ -98,7 +114,7 @@ def list_command(
|
|
|
98
114
|
paginator = Paginator.wrap(flows_client.list_flows)
|
|
99
115
|
flow_iterator = PagingWrapper(
|
|
100
116
|
paginator(
|
|
101
|
-
|
|
117
|
+
filter_roles=filter_roles, # type: ignore[arg-type]
|
|
102
118
|
filter_fulltext=filter_fulltext,
|
|
103
119
|
orderby=",".join(f"{field} {order}" for field, order in orderby),
|
|
104
120
|
).items(),
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import typing as t
|
|
3
4
|
import uuid
|
|
4
5
|
|
|
5
6
|
import click
|
|
@@ -10,6 +11,14 @@ from globus_cli.parsing import command
|
|
|
10
11
|
from globus_cli.termio import Field, display
|
|
11
12
|
from globus_cli.utils import PagingWrapper
|
|
12
13
|
|
|
14
|
+
ROLE_TYPES = (
|
|
15
|
+
"run_owner",
|
|
16
|
+
"run_manager",
|
|
17
|
+
"run_monitor",
|
|
18
|
+
"flow_run_manager",
|
|
19
|
+
"flow_run_monitor",
|
|
20
|
+
)
|
|
21
|
+
|
|
13
22
|
|
|
14
23
|
@command("list")
|
|
15
24
|
@click.option(
|
|
@@ -22,6 +31,13 @@ from globus_cli.utils import PagingWrapper
|
|
|
22
31
|
multiple=True,
|
|
23
32
|
type=click.UUID,
|
|
24
33
|
)
|
|
34
|
+
@click.option(
|
|
35
|
+
"--filter-role",
|
|
36
|
+
"filter_roles",
|
|
37
|
+
type=click.Choice(ROLE_TYPES),
|
|
38
|
+
help="Filter results by the run's role type associated with the caller",
|
|
39
|
+
multiple=True,
|
|
40
|
+
)
|
|
25
41
|
@click.option(
|
|
26
42
|
"--limit",
|
|
27
43
|
default=25,
|
|
@@ -32,7 +48,20 @@ from globus_cli.utils import PagingWrapper
|
|
|
32
48
|
)
|
|
33
49
|
@LoginManager.requires_login("flows")
|
|
34
50
|
def list_command(
|
|
35
|
-
login_manager: LoginManager,
|
|
51
|
+
login_manager: LoginManager,
|
|
52
|
+
*,
|
|
53
|
+
limit: int,
|
|
54
|
+
filter_flow_id: tuple[uuid.UUID, ...],
|
|
55
|
+
filter_roles: tuple[
|
|
56
|
+
t.Literal[
|
|
57
|
+
"run_owner",
|
|
58
|
+
"run_manager",
|
|
59
|
+
"run_monitor",
|
|
60
|
+
"flow_run_manager",
|
|
61
|
+
"flow_run_monitor",
|
|
62
|
+
],
|
|
63
|
+
...,
|
|
64
|
+
],
|
|
36
65
|
) -> None:
|
|
37
66
|
"""
|
|
38
67
|
List runs.
|
|
@@ -45,7 +74,10 @@ def list_command(
|
|
|
45
74
|
|
|
46
75
|
paginator = Paginator.wrap(flows_client.list_runs)
|
|
47
76
|
run_iterator = PagingWrapper(
|
|
48
|
-
paginator(
|
|
77
|
+
paginator(
|
|
78
|
+
filter_flow_id=filter_flow_id,
|
|
79
|
+
filter_roles=filter_roles, # type: ignore[arg-type]
|
|
80
|
+
).items(),
|
|
49
81
|
json_conversion_key="runs",
|
|
50
82
|
limit=limit,
|
|
51
83
|
)
|
|
@@ -20,7 +20,13 @@ def show_command(login_manager: LoginManager, *, flow_id: uuid.UUID) -> None:
|
|
|
20
20
|
res = flows_client.get_flow(flow_id)
|
|
21
21
|
|
|
22
22
|
principal_formatter = formatters.auth.PrincipalURNFormatter(auth_client)
|
|
23
|
-
for principal_set_name in (
|
|
23
|
+
for principal_set_name in (
|
|
24
|
+
"flow_administrators",
|
|
25
|
+
"flow_viewers",
|
|
26
|
+
"flow_starters",
|
|
27
|
+
"run_managers",
|
|
28
|
+
"run_monitors",
|
|
29
|
+
):
|
|
24
30
|
for value in res.get(principal_set_name, ()):
|
|
25
31
|
principal_formatter.add_item(value)
|
|
26
32
|
principal_formatter.add_item(res.get("flow_owner"))
|
|
@@ -48,6 +54,16 @@ def show_command(login_manager: LoginManager, *, flow_id: uuid.UUID) -> None:
|
|
|
48
54
|
"flow_starters",
|
|
49
55
|
formatter=formatters.ArrayFormatter(element_formatter=principal_formatter),
|
|
50
56
|
),
|
|
57
|
+
Field(
|
|
58
|
+
"Run Managers",
|
|
59
|
+
"run_managers",
|
|
60
|
+
formatter=formatters.ArrayFormatter(element_formatter=principal_formatter),
|
|
61
|
+
),
|
|
62
|
+
Field(
|
|
63
|
+
"Run Monitors",
|
|
64
|
+
"run_monitors",
|
|
65
|
+
formatter=formatters.ArrayFormatter(element_formatter=principal_formatter),
|
|
66
|
+
),
|
|
51
67
|
]
|
|
52
68
|
|
|
53
69
|
display(res, fields=fields, text_mode=display.RECORD)
|