diff --git a/src/modules/punk/console-999999.0a1.0.tm b/src/modules/punk/console-999999.0a1.0.tm index 626d7d21..72dbc7e8 100644 --- a/src/modules/punk/console-999999.0a1.0.tm +++ b/src/modules/punk/console-999999.0a1.0.tm @@ -515,8 +515,18 @@ namespace eval punk::console { } } - exec {*}$sttycmd raw -echo <@$channel - tsv::set console is_raw 1 + #REVIEW + switch $channel { + stdin { + exec {*}$sttycmd -icanon -echo -isig + } + default { + exec {*}$sttycmd raw -echo <@$channel + } + } + catch { + tsv::set console is_raw 1 + } return [dict create previous [set previous_stty_state_$channel]] } proc disableRaw {{channel stdin}} { @@ -529,8 +539,18 @@ namespace eval punk::console { tsv::set console is_raw 0 return restored } - exec {*}$sttycmd -raw echo <@$channel - tsv::set console is_raw 0 + #REVIEW + switch $channel { + stdin { + exec {*}$sttycmd icanon echo isig + } + default { + exec {*}$sttycmd -raw echo <@$channel + } + } + catch { + tsv::set console is_raw 0 + } return done } } diff --git a/src/modules/punk/netbox-999999.0a1.0.tm b/src/modules/punk/netbox-999999.0a1.0.tm index 71127582..ef2329c9 100644 --- a/src/modules/punk/netbox-999999.0a1.0.tm +++ b/src/modules/punk/netbox-999999.0a1.0.tm @@ -2510,6 +2510,65 @@ tcl::namespace::eval punk::netbox::tenancy { tcl::namespace::eval punk::netbox::virtualization { namespace export {[a-z]*} + namespace eval argdoc { + variable PUNKARGS + variable DYN_CONTEXTNAMES + set DYN_CONTEXTNAMES {${[punk::netbox::api_context_names]}} + lappend PUNKARGS [list\ + { + @dynamic + @id -id ::punk::netbox::virtualization::clusters_list + @cmd -name punk::netbox::virtualization::clusters_list -help\ + "virtualization_clusters_list + GET request for endpoint /virtualization/clusters/" + @leaders -min 1 -max 1 + apicontextid -help\ + "The name of the stored api context to use. + A contextid can be created in-memory using + api_context_create, or loaded from a .toml + file using api_context_load."\ + -choices {${$DYN_CONTEXTNAMES}} + @opts + -id -type integer + -ID_FILTER -type list -minsize 2 -maxsize 2 -multiple 1 -unindentedfields {-help} -help {${$::punk::netbox::argdoc::_number_filter_help}} + -name + -NAME_FILTER -type list -minsize 2 -maxsize 2 -multiple 1 -unindentedfields {-help} -help {${$::punk::netbox::argdoc::_name_filter_help}} + }\ + [set ::punk::netbox::argdoc::_create_update_options]\ + { + -q + -tag -multiple true + }\ + [set ::punk::netbox::argdoc::_tenant_options]\ + [set ::punk::netbox::argdoc::_contact_options]\ + { + -local_context_data + -status + -status_n + }\ + [set ::punk::netbox::argdoc::_region_options]\ + [set ::punk::netbox::argdoc::_site_options]\ + { + -platform + -platform__n + -mac_address + -MAC_ADDRESS_FILTER -type list -minsize 2 -maxsize 2 -multiple 1 -unindentedfields {-help} -help {${$::punk::netbox::argdoc::_string_filter_help}} + -has_primary_ip + }\ + [set ::punk::netbox::argdoc::_group_options]\ + [set ::punk::netbox::argdoc::_role_options]\ + { + }\ + [set ::punk::netbox::argdoc::_page_options]\ + [set ::punk::netbox::argdoc::_CUSTOM_PARAMS]\ + [set ::punk::netbox::argdoc::_RETURN_PAGEDICT]\ + { + @values -min 0 -max 0 + }] + } + + ::punk::netbox::system::make_rest_func_async ::punk::netbox::virtualization::clusters_list api/virtualization/clusters/ -verb get -body none + namespace eval argdoc { variable PUNKARGS variable DYN_CONTEXTNAMES