// Code generated by go-swagger; DO NOT EDIT.

package models

// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command

import (
	"context"

	"github.com/go-openapi/strfmt"
	"github.com/go-openapi/swag"
)

// L3Connectivity l3 connectivity
//
// swagger:model l3-connectivity
type L3Connectivity struct {

	// Average round trip time in milliseconds.
	AverageRTTMs float64 `json:"average_rtt_ms,omitempty"`

	// outgoing nic
	OutgoingNic string `json:"outgoing_nic,omitempty"`

	// Percentage of packets lost during connectivity check.
	PacketLossPercentage float64 `json:"packet_loss_percentage,omitempty"`

	// remote ip address
	RemoteIPAddress string `json:"remote_ip_address,omitempty"`

	// successful
	Successful bool `json:"successful,omitempty"`
}

// Validate validates this l3 connectivity
func (m *L3Connectivity) Validate(formats strfmt.Registry) error {
	return nil
}

// ContextValidate validates this l3 connectivity based on context it is used
func (m *L3Connectivity) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *L3Connectivity) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *L3Connectivity) UnmarshalBinary(b []byte) error {
	var res L3Connectivity
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}
