Skip to content

Module usability pass: verbose endpoint logging, parameter types/enums, parameter sets, destructive-op safeguards, load time #57

Description

@dmann000

Source: field feedback (developer experience). Grouped small items for visibility; each can be split into its own PR.

  • Verbose/debug logging should include the API endpoint being called. The FlashArray module does this and it was flagged as an easy win. Add the resolved endpoint (and method) to the Write-Verbose/Write-Debug output in the shared request path.
  • Define real data types / models / classes and enums for parameters. No custom types or enums are defined today, which weakens validation and tab-completion. Add enums for constrained parameters and typed output objects.
  • Use parameter sets so an attributes/hashtable input cannot silently override explicit parameters. Reported: supplying attributes steamrolls explicitly-supplied values such as address, services, subnetname. (Overlaps with Write cmdlets silently drop documented body parameters (~48 New-*/Update-* cmdlets) #31.)
  • Add safeguards on bulk destructive cmdlets. Reported concern: a filter of * on a delete would remove everything. Refuse or require explicit confirmation for wildcard-scoped destructive operations.
  • Investigate module load time. Reported slow to load (~520 cmdlets). Check module init for inefficient loops or per-file work that could be batched or cached.

Acceptance

Each checkbox is a small, independently-testable change. Verbose-endpoint logging and parameter-set fixes are the highest-value and lowest-risk; start there.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions