network

package
v1.2.120 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 30, 2024 License: MIT Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddressSpace

type AddressSpace struct {
	// AddressPrefixes - A list of address blocks reserved for this virtual network in CIDR notation.
	AddressPrefixes *[]string `json:"addressPrefixes,omitempty"`
}

AddressSpace addressSpace contains an array of IP address ranges that can be used by subnets of the virtual network.

type BackendAddressPool

type BackendAddressPool struct {
	// ID
	ID *string `json:"ID,omitempty"`
	// Name
	Name *string `json:"name,omitempty"`
	// Type
	Type *string `json:"type,omitempty"`
	// Tags - Custom resource tags
	Tags map[string]*string `json:"tags"`

	// Properties
	*BackendAddressPoolProperties `json:"properties,omitempty"`
}

BackendAddressPool

type BackendAddressPoolProperties added in v0.0.11

type BackendAddressPoolProperties struct {
	// BackendIPConfigurations
	BackendIPConfigurations *[]IPConfiguration `json:"backendIPConfigurations,omitempty"`
}

BackendAddressPoolProperties

type BaseClient

type BaseClient struct {
}

Client structure

func New

func New() BaseClient

type DNSSetting added in v0.0.11

type DNSSetting struct {
	// Domain
	Domain *string `json:"domain,omitempty"`
	// Search strings
	Search *[]string `json:"search,omitempty"`
	// Servers is list of nameservers
	Servers *[]string `json:"servers,omitempty"`
	// Options for DNS
	Options *[]string `json:"options,omitempty"`
}

DNSSetting (Domain Name System is associated with a network.

type FrontendIPConfiguration

type FrontendIPConfiguration struct {
	// ID
	ID *string `json:"ID,omitempty"`
	// Name
	Name *string `json:"name,omitempty"`
	// Type
	Type *string `json:"type,omitempty"`
	// Tags - Custom resource tags
	Tags map[string]*string `json:"tags"`
	// Properties
	*FrontendIPConfigurationProperties `json:"properties,omitempty"`
}

FrontendIPConfiguration

type FrontendIPConfigurationProperties added in v0.0.11

type FrontendIPConfigurationProperties struct {
	// IPAddress of the Frontend IP
	IPAddress *string `json:"ipaddress,omitempty"`
	// ID of the Subnet this frontend ip configuration belongs to
	SubnetID *string `json:"subnetID,omitempty"`
}

FrontendIPConfigurationProperties

type IPAllocationMethod added in v0.8.6

type IPAllocationMethod string

IPAllocationMethod enumerates the values for ip allocation method.

const (
	// Dynamic ...
	Dynamic IPAllocationMethod = "Dynamic"
	// Static ...
	Static IPAllocationMethod = "Static"
)

type IPConfiguration

type IPConfiguration struct {
	// ID
	ID *string `json:"ID,omitempty"`
	// Name
	Name *string `json:"name,omitempty"`
	// Type
	Type *string `json:"type,omitempty"`
	// Tags - Custom resource tags
	Tags map[string]*string `json:"tags"`
	// Properties
	*IPConfigurationProperties `json:"properties,omitempty"`
}

IPConfiguration

type IPConfigurationProperties added in v0.0.11

type IPConfigurationProperties struct {
	// IPAddress
	IPAddress *string `json:"ipaddress,omitempty"`
	// PrefixLength
	PrefixLength *string `json:"prefixlength,omitempty"`
	// SubnetID
	SubnetID *string `json:"subnetId,omitempty"`
	// NetworkType the subnet refers to. Either Virtual Network or Logical Network
	NetworkType NetworkType `json:"networkType,omitempty"`
	// Gateway
	Gateway *string `json:"gateway,omitempty"`
	// Primary indicates that this is the primary IPaddress of the Nic
	Primary *bool `json:"primary,omitempty"`
	// VirtualNetworkInterface reference
	VirtualNetworkInterfaceID *string `json:"virtualNetworkInterfaceID,omitempty"`
	// LoadBalancerBackendAddressPoolIDs
	LoadBalancerBackendAddressPoolIDs *[]string `json:"loadBalancerBackendAddressPools,omitempty"`
	// LoadBalancerInboundNatPools
	LoadBalancerInboundNatPoolIDs *[]string `json:"loadBalancerInboundNatPools,omitempty"`
	// IPAllocationMethod - The IP address allocation method. Possible values include: 'Static', 'Dynamic'
	IPAllocationMethod IPAllocationMethod `json:"ipAllocationMethod,omitempty"`
}

IPConfigurationProperties

type IPConfigurationReference

type IPConfigurationReference struct {
	// IPConfigurationID
	IPConfigurationID *string `json:"ID,omitempty"`
}

IPConfigurationReference

type LoadBalancer

type LoadBalancer struct {
	// ID
	ID *string `json:"ID,omitempty"`
	// Name
	Name *string `json:"name,omitempty"`
	// Type
	Type *string `json:"type,omitempty"`
	// Tags - Custom resource tags
	Tags map[string]*string `json:"tags"`
	// Properties
	*LoadBalancerProperties `json:"properties,omitempty"`
}

LoadBalancer defines the structure of a Load Balancer

type LoadBalancerProperties added in v0.0.11

type LoadBalancerProperties struct {
	// FrontendIPConfigurations
	FrontendIPConfigurations *[]FrontendIPConfiguration `json:"frontendIPConfigurations,omitempty"`
	// BackendAddressPools
	BackendAddressPools *[]BackendAddressPool `json:"backendAddressPools,omitempty"`
	// LoadBalancingRules
	LoadBalancingRules *[]LoadBalancingRule `json:"loadBalancingRules,omitempty"`
	// ProvisioningState - READ-ONLY; The provisioning state, which only appears in the response.
	ProvisioningState *string `json:"provisioningState,omitempty"`
	// Statuses - Status
	Statuses map[string]*string `json:"statuses"`
}

LoadBalancerProperties

type LoadBalancingRule

type LoadBalancingRule struct {
	// ID
	ID *string `json:"ID,omitempty"`
	// Name
	Name *string `json:"name,omitempty"`
	// Type
	Type *string `json:"type,omitempty"`
	// Tags - Custom resource tags
	Tags map[string]*string `json:"tags"`
	// Properties
	*LoadBalancingRuleProperties `json:"properties,omitempty"`
}

LoadBalancingRule

type LoadBalancingRuleProperties added in v0.0.11

type LoadBalancingRuleProperties struct {
	// FrontendIPConfigurationID
	FrontendIPConfigurationID *string `json:"frontendIPConfigurationID,omitempty"`
	// BackendAddressPoolID
	BackendAddressPoolID *string `json:"backendAddressPoolID,omitempty"`
	// TransportProtocol
	Protocol TransportProtocol `json:"protocol,omitempty"`
	// FrontendPort
	FrontendPort *int32 `json:"frontendPort,omitempty"`
	// BackendPort
	BackendPort *int32 `json:"backendPort,omitempty"`
}

LoadBalancingRuleProperties

type LogicalNetwork added in v0.13.2

type LogicalNetwork struct {
	// ID
	ID *string `json:"ID,omitempty"`
	// Name
	Name *string `json:"name,omitempty"`
	// Version
	Version *string `json:"version,omitempty"`
	// Tags - Custom resource tags
	Tags map[string]*string `json:"tags"`
	// LogicalNetworkProperties - Properties of the Logical network.
	*LogicalNetworkProperties `json:"properties,omitempty"`
}

LogicalNetwork defines the structure of an LNET

type LogicalNetworkProperties added in v0.13.2

type LogicalNetworkProperties struct {
	// AddressSpace - The AddressSpace that contains an array of IP address ranges that can be used by subnets.
	AddressSpace *AddressSpace `json:"addressSpace,omitempty"`
	// Subnets - A list of subnets in a Logical Network.
	Subnets *[]LogicalSubnet `json:"subnets,omitempty"`
	// ProvisioningState - The provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
	ProvisioningState *string `json:"provisioningState,omitempty"`
	// State - State
	Statuses map[string]*string `json:"statuses"`
}

LogicalNetworkProperties properties of the Logical Network.

type LogicalSubnet added in v0.13.2

type LogicalSubnet struct {
	// LogicalSubnetProperties - Properties of the subnet.
	*LogicalSubnetProperties `json:"properties,omitempty"`
	// Name - The name of the resource that is unique within a resource group. This name can be used to access the resource.
	Name *string `json:"name,omitempty"`
	// Etag - A unique read-only string that changes whenever the resource is updated.
	Etag *string `json:"etag,omitempty"`
	// ID - Resource ID.
	ID *string `json:"id,omitempty"`
}

LogicalSubnet is a subnet in a Logical network resource.

type LogicalSubnetProperties added in v0.13.2

type LogicalSubnetProperties struct {
	// CIDR for this subnet - IPv4, IPv6
	AddressPrefix *string `json:"addressPrefix,omitempty"`
	// AddressPrefixes - List of address prefixes for the subnet.
	AddressPrefixes *[]string `json:"addressPrefixes,omitempty"`
	// Routes for the subnet
	Routes *[]Route `json:"routes,omitempty"`
	// IPConfiguration References
	IPConfigurationReferences *[]IPConfigurationReference `json:"ipConfigurationReferences,omitempty"`
	// IPAllocationMethod - The IP address allocation method. Possible values include: 'Static', 'Dynamic'
	IPAllocationMethod IPAllocationMethod `json:"ipAllocationMethod,omitempty"`
	// VLAN ID
	Vlan *uint16 `json:"vlan,omitempty"`
	// DNSSettings - The DNSSetting that contains an array of DNS servers available to VMs deployed in the Logical network.
	DNSSettings *DNSSetting `json:"dhcpOptions,omitempty"`
	// Public - Gets whether this is a public subnet on a virtual machine.
	Public *bool `json:"primary,omitempty"`
}

LogicalSubnet is associated with a Logical Network.

type MACPool

type MACPool struct {
	// Ranges of mac
	Ranges *[]MACRange `json:"ranges,omitempty"`
}

MACPool is assoicated with a network and represents pool of MACRanges.

type MACRange

type MACRange struct {
	// StartMACAddress
	StartMACAddress *string `json:"startmacaddress,omitempty"`
	// EndMACAddress
	EndMACAddress *string `json:"endmacaddress,omitempty"`
}

MACRange is associated with MACPool and respresents the start and end addresses.

type NetworkType added in v0.13.2

type NetworkType string
const (
	// Virtual ...
	Virtual NetworkType = "VirtualNetwork"
	// Logical ...
	Logical NetworkType = "LogicalNetwork"
)

type Route

type Route struct {
	// ID
	ID *string `json:"ID,omitempty"`
	// Name
	Name *string `json:"name,omitempty"`
	// Type
	Type *string `json:"type,omitempty"`
	// Tags - Custom resource tags
	Tags map[string]*string `json:"tags"`
	// Properties
	*RouteProperties `json:"properties,omitempty"`
}

Route is assoicated with a subnet.

type RouteProperties added in v0.0.11

type RouteProperties struct {
	// NextHop
	NextHop *string `json:"nexthop,omitempty"`
	// DestinationPrefix in cidr format
	DestinationPrefix *string `json:"destinationprefix,omitempty"`
	// Metric
	Metric uint32 `json:"metric,omitempty"`
}

RouteProperties

type Subnet

type Subnet struct {
	// ID
	ID *string `json:"ID,omitempty"`
	// Name
	Name *string `json:"name,omitempty"`
	// Type
	Type *string `json:"type,omitempty"`
	// Tags - Custom resource tags
	Tags map[string]*string `json:"tags"`
	// Properties
	*SubnetProperties `json:"properties,omitempty"`
}

Subnet is assoicated with a Virtual Network.

type SubnetProperties added in v0.0.11

type SubnetProperties struct {
	// Cidr for this subnet - IPv4, IPv6
	AddressPrefix *string `json:"cidr,omitempty"`
	// Routes for the subnet
	Routes *[]Route `json:"routes,omitempty"`
	// IPConfigurationReferences
	IPConfigurationReferences *[]IPConfigurationReference `json:"ipConfigurationReferences,omitempty"`
	// IPAllocationMethod - The IP address allocation method. Possible values include: 'Static', 'Dynamic'
	IPAllocationMethod IPAllocationMethod `json:"ipAllocationMethod,omitempty"`
	// Vlan
	Vlan *uint16 `json:"vlan,omitempty"`
}

SubnetProperties

type TransportProtocol

type TransportProtocol string
const (
	// TransportProtocolAll
	TransportProtocolAll TransportProtocol = "All"
	// TransportProtocolTCP
	TransportProtocolTCP TransportProtocol = "Tcp"
	// TransportProtocolUDP
	TransportProtocolUDP TransportProtocol = "Udp"
)

type VirtualNetwork

type VirtualNetwork struct {
	// ID
	ID *string `json:"ID,omitempty"`
	// Name
	Name *string `json:"name,omitempty"`
	// Type
	Type *string `json:"type,omitempty"`
	// Tags - Custom resource tags
	Tags map[string]*string `json:"tags"`
	// Properties
	*VirtualNetworkProperties `json:"properties,omitempty"`
}

VirtualNetwork defines the structure of a VNET

type VirtualNetworkInterface

type VirtualNetworkInterface struct {
	// ID
	ID *string `json:"ID,omitempty"`
	// Name
	Name *string `json:"name,omitempty"`
	// Type
	Type *string `json:"type,omitempty"`
	// Tags - Custom resource tags
	Tags map[string]*string `json:"tags"`
	// Properties
	*VirtualNetworkInterfaceProperties `json:"properties,omitempty"`
}

VirtualNetwork defines the structure of a VNET

type VirtualNetworkInterfaceProperties added in v0.0.11

type VirtualNetworkInterfaceProperties struct {
	// VirtualMachineID
	VirtualMachineID *string `json:"virtualMachineID,omitempty"`
	// VirtualNetwork reference
	VirtualNetwork *VirtualNetwork `json:"virtualNetworkID,omitempty"`
	// IPConfigurations
	IPConfigurations *[]IPConfiguration `json:"ipConfigurations,omitempty"`
	// DNS
	DNSSettings *DNSSetting `json:"dnsSettings,omitempty"`
	// Routes for the subnet
	Routes *[]Route `json:"routes,omitempty"`
	// MACAddress - the macaddress of the network interface
	MACAddress *string `json:"macAddress,omitempty"`
	// EnableIPForwarding
	EnableIPForwarding *bool `json:"enableIPForwarding,omitempty"`
	// EnableMACSpoofing - enable macspoofing on this nic
	EnableMACSpoofing *bool `json:"enableMACSpoofing,omitempty"`
	// EnableDHCPGuard
	EnableDHCPGuard *bool `json:"enableDHCPGuard,omitempty"`
	// EnableRouterAdvertisementGuard
	EnableRouterAdvertisementGuard *bool `json:"enableRouterAdvertisementGuard,omitempty"`
	// ProvisioningState - READ-ONLY; The provisioning state, which only appears in the response.
	ProvisioningState *string `json:"provisioningState,omitempty"`
	// Statuses - Status
	Statuses map[string]*string `json:"statuses"`
	// IsPlaceholder - On a multi-node system, the entity (such as a VNIC) is created on a node where
	// IsPlacehoder is false. On all the other nodes, IsPlaceholder is set to true.
	// When an entity moves among these nodes (such as when a VM migrates), the
	// IsPlacehoder property is updated accordingly on all the nodes.
	// IsPlacehoder therefore defines where the entity (VNIC) is *not* located.
	// This property is the exact inverse of the node agent's SystemOwned property.
	IsPlaceholder *bool `json:"isPlaceholder,omitempty"`
	// EnableAcceleratedNetworking - If the network interface is accelerated networking enabled.
	EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty"`
}

type VirtualNetworkProperties added in v0.0.11

type VirtualNetworkProperties struct {
	// AddressSpace
	AddressSpace *AddressSpace `json:"addressSpace,omitempty"`
	// MACPool
	MACPool *MACPool `json:"macPool,omitempty"`
	// DNS
	DNSSettings *DNSSetting `json:"dnsSettings,omitempty"`
	// ProvisioningState - READ-ONLY; The provisioning state, which only appears in the response.
	ProvisioningState *string `json:"provisioningState,omitempty"`
	// Subnets that could hold ipv4 and ipv6 subnets
	Subnets *[]Subnet `json:"subnets,omitempty"`
	// Statuses - Status
	Statuses map[string]*string `json:"statuses"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL