@@ -47,6 +47,7 @@ replicated network report <network-id> --watch`,
4747
4848 cmd .Flags ().BoolVarP (& r .args .networkReportWatch , "watch" , "w" , false , "Watch for new network events in real-time (polls every 2 seconds)" )
4949 cmd .Flags ().BoolVar (& r .args .networkReportSummary , "summary" , false , "Get aggregated report summary with statistics instead of individual events" )
50+ cmd .Flags ().BoolVar (& r .args .networkReportShowExternalOnly , "show-external-only" , true , "Show only external network traffic" )
5051
5152 return cmd
5253}
@@ -68,6 +69,11 @@ func (r *runners) getNetworkReport(cmd *cobra.Command, args []string) error {
6869
6970 // Don't call getNetworkIDFromArg here. Reporting API supports short IDs and will also work for networks that have been deleted.
7071
72+ // Validate flags
73+ if r .args .networkReportSummary && cmd .Flags ().Lookup ("show-external-only" ).Changed {
74+ return fmt .Errorf ("cannot use --show-external-only and --summary flags together" )
75+ }
76+
7177 // Get the initial network report or summary depending on args provided
7278 if r .args .networkReportSummary {
7379 return r .getNetworkReportSummary (cmd .Context ())
@@ -77,7 +83,7 @@ func (r *runners) getNetworkReport(cmd *cobra.Command, args []string) error {
7783}
7884
7985func (r * runners ) getNetworkReportEvents () error {
80- report , err := r .kotsAPI .GetNetworkReport (r .args .networkReportID )
86+ report , err := r .kotsAPI .GetNetworkReport (r .args .networkReportID , r . args . networkReportShowExternalOnly )
8187 if errors .Cause (err ) == platformclient .ErrForbidden {
8288 return ErrCompatibilityMatrixTermsNotAccepted
8389 } else if err != nil {
@@ -111,9 +117,9 @@ func (r *runners) getNetworkReportEvents() error {
111117 for range time .Tick (2 * time .Second ) {
112118 var newReport * types.NetworkReport
113119 if lastEventTime != nil {
114- newReport , err = r .kotsAPI .GetNetworkReportAfter (r .args .networkReportID , lastEventTime )
120+ newReport , err = r .kotsAPI .GetNetworkReportAfter (r .args .networkReportID , lastEventTime , r . args . networkReportShowExternalOnly )
115121 } else {
116- newReport , err = r .kotsAPI .GetNetworkReport (r .args .networkReportID )
122+ newReport , err = r .kotsAPI .GetNetworkReport (r .args .networkReportID , r . args . networkReportShowExternalOnly )
117123 }
118124
119125 if err != nil {
0 commit comments