// Code generated by msgraph.go/gen DO NOT EDIT.

package msgraph

import "time"

// NetworkConnection undocumented
type NetworkConnection struct {
	// Object is the base model of NetworkConnection
	Object
	// ApplicationName undocumented
	ApplicationName *string `json:"applicationName,omitempty"`
	// DestinationAddress undocumented
	DestinationAddress *string `json:"destinationAddress,omitempty"`
	// DestinationDomain undocumented
	DestinationDomain *string `json:"destinationDomain,omitempty"`
	// DestinationPort undocumented
	DestinationPort *string `json:"destinationPort,omitempty"`
	// DestinationURL undocumented
	DestinationURL *string `json:"destinationUrl,omitempty"`
	// Direction undocumented
	Direction *ConnectionDirection `json:"direction,omitempty"`
	// DomainRegisteredDateTime undocumented
	DomainRegisteredDateTime *time.Time `json:"domainRegisteredDateTime,omitempty"`
	// LocalDNSName undocumented
	LocalDNSName *string `json:"localDnsName,omitempty"`
	// NatDestinationAddress undocumented
	NatDestinationAddress *string `json:"natDestinationAddress,omitempty"`
	// NatDestinationPort undocumented
	NatDestinationPort *string `json:"natDestinationPort,omitempty"`
	// NatSourceAddress undocumented
	NatSourceAddress *string `json:"natSourceAddress,omitempty"`
	// NatSourcePort undocumented
	NatSourcePort *string `json:"natSourcePort,omitempty"`
	// Protocol undocumented
	Protocol *SecurityNetworkProtocol `json:"protocol,omitempty"`
	// RiskScore undocumented
	RiskScore *string `json:"riskScore,omitempty"`
	// SourceAddress undocumented
	SourceAddress *string `json:"sourceAddress,omitempty"`
	// SourcePort undocumented
	SourcePort *string `json:"sourcePort,omitempty"`
	// Status undocumented
	Status *ConnectionStatus `json:"status,omitempty"`
	// URLParameters undocumented
	URLParameters *string `json:"urlParameters,omitempty"`
}

// NetworkIPv4ConfigurationManagementCondition IPv4 configuration-based management conditions may be defined that will trigger when a device detects certain IP network settings. An IP config management conditions will only be considered TRUE when the network connection is active.
type NetworkIPv4ConfigurationManagementCondition struct {
	// NetworkManagementCondition is the base model of NetworkIPv4ConfigurationManagementCondition
	NetworkManagementCondition
	// IPV4Prefix The IPv4 subnet to be connected to. e.g. 10.0.0.0/8
	IPV4Prefix *string `json:"ipV4Prefix,omitempty"`
	// IPV4Gateway The IPv4 gateway address. e.g. 10.0.0.0
	IPV4Gateway *string `json:"ipV4Gateway,omitempty"`
	// IPV4DHCPServer The IPv4 address of the DHCP server for the adapter.
	IPV4DHCPServer *string `json:"ipV4DHCPServer,omitempty"`
	// IPV4DNSServerList The IPv4 DNS servers configured for the adapter.
	IPV4DNSServerList []string `json:"ipV4DNSServerList,omitempty"`
	// DNSSuffixList Valid DNS suffixes for the current network. e.g. seattle.contoso.com
	DNSSuffixList []string `json:"dnsSuffixList,omitempty"`
}

// NetworkIPv6ConfigurationManagementCondition IPv6 configuration-based management conditions may be defined that will trigger when a device detects certain IP network settings. An IP config management condition will only be considered TRUE when the network connection is active.
type NetworkIPv6ConfigurationManagementCondition struct {
	// NetworkManagementCondition is the base model of NetworkIPv6ConfigurationManagementCondition
	NetworkManagementCondition
	// IPV6Prefix The IPv6 subnet to be connected to. e.g. 2001:db8::/32
	IPV6Prefix *string `json:"ipV6Prefix,omitempty"`
	// IPV6Gateway The IPv6 gateway address to. e.g 2001:db8::1
	IPV6Gateway *string `json:"ipV6Gateway,omitempty"`
	// IPV6DNSServerList An IPv6 DNS servers configured for the adapter.
	IPV6DNSServerList []string `json:"ipV6DNSServerList,omitempty"`
	// DNSSuffixList Valid DNS suffixes for the current network. e.g. seattle.contoso.com
	DNSSuffixList []string `json:"dnsSuffixList,omitempty"`
}

// NetworkInterface undocumented
type NetworkInterface struct {
	// Object is the base model of NetworkInterface
	Object
	// Description undocumented
	Description *string `json:"description,omitempty"`
	// IPV4Address undocumented
	IPV4Address *string `json:"ipV4Address,omitempty"`
	// IPV6Address undocumented
	IPV6Address *string `json:"ipV6Address,omitempty"`
	// LocalIPV6Address undocumented
	LocalIPV6Address *string `json:"localIpV6Address,omitempty"`
	// MacAddress undocumented
	MacAddress *string `json:"macAddress,omitempty"`
}

// NetworkLocationDetail undocumented
type NetworkLocationDetail struct {
	// Object is the base model of NetworkLocationDetail
	Object
	// NetworkType undocumented
	NetworkType *NetworkType `json:"networkType,omitempty"`
	// NetworkNames undocumented
	NetworkNames []string `json:"networkNames,omitempty"`
}

// NetworkManagementCondition Contains the information to define a network management condition.
type NetworkManagementCondition struct {
	// ManagementCondition is the base model of NetworkManagementCondition
	ManagementCondition
}
