Share via


NetworkProfile [SPFSDK][VMROLE]

 

Applies To: Windows Azure Pack

The NetworkProfile object specifies one or more virtual network adapters that should be attached to the virtual machine. It specifies what network each adapter should be attached to and provides an array with the IP addresses.  The IP addresses can be configured for the appropriate protocol and for its allocation method to be static or dynamic.

Five simple subobject types are included in this topic:

  1. NetworkAdapter

  2. IPAddress

  3. LoadBalancerConfiguration

  4. PortConfig

  5. Probe

Type Hierarchy

VirtualMachineRole (Instance) [SPFSDK][VMROLE].ResourceDefinition [SPFSDK][VMROLE]. IntrinsicSettings [SPFSDK][VMROLE].NetworkProfile

Syntax

{
    "NetworkAdapters": [
        {
            "Name": "string",
            "NetworkRef": "string",
            "IPAddresses": [
                {
                    "ConfigurationName": "string",
                    "Type": "IPv4 or IPv6",
                    "AllocationMethod": "Static or Dynamic",
                    "LoadBalancerConfigurations": [
                        {
                            "ConfigurationName": "string",
                            "FrontEndNetwork": "string",
                            "PortConfig": {
                                "Name": "string",
                                "Protocol": "HTTP or HTTPS",
                                "FrontEndPort": int,
                                "BackEndPort": int
                            },

                            "Probe": {
                                "MaxRetryCount": int,
                                "Port": int,
                                "ProbeIntervalInSeconds": int,
                                "Protocol": "TCP, HTTP, or HTTPS",
                                "RequestPath": "string",
                            }
                        }
                    ] // LoadBalancerConfigurations
                }
            ] //IPAddresses
        }
    ]
}

Properties

Name

Type

Required

Default value

Description

NetworkAdapters

Array of NetworkAdapter

Yes

None

The network adapters.

NetworkAdapter

Name

Type

Required

Default Value

Description

Name

String

Yes

None

The name of the adapter.

NetworkRef

String

Yes

None

The name of the external network to attach the network adapter to.

IPAddresses

Array of IPAddress

Yes

None

The IP addresses that are associated with the network adapter.

IPAddress

Name

Type

Required

Default Value

Description

ConfigurationName

String

Yes

None

The unique identification of this specific IP address configuration.

Type

String

Yes

None

The IP protocol to be either IPv4 or IPv6.

AllocationMethod

String

Yes

None

The IP address to be either Static or Dynamic.

LoadBalancerConfigurations

Array of LoadBalancerConfiguration

No

null

The load balancer requirements for this IP address configuration.

LoadBalancerConfiguration

Name

Type

Required

Default value

Description

ConfigurationName

String

Yes

None

The unique identification of this specific load balancer configuration.

FrontEndNetwork

String

Yes

None

The network name for the front-end network of the load balancer.

PortConfig

PortConfig

Yes

None

The configuration of the load balancer access port.

Probe

Probe

Yes

None

The configuration on how to probe the load balancer.

PortConfig

Name

Type

Required

Default value

Description

Name

String

Yes

None

The unique identification of this port configuration.

Protocol

String

Yes

None

The load balancer protocol to be either HTTP or HTTPS.

FrontEndPort

Int

Yes

None

The virtual IP (VIP) port number.

BackEndPort

Int

Yes

None

The dynamic IP (DIP) port number.

Probe

Name

Type

Required

Default value

Description

MaxRetryCount

Int

Yes

None

The maximum retry count for incoming requests.

Port

Int

Yes

None

The port on which the load balancer probe operates.

ProbeIntervalInSeconds

Int

Yes

None

The interval between probes in seconds.

Protocol

String

Yes

None

The protocol for the probe to be either TCP, HTTP, or HTTPS.

The probe must return 200 for HTTP and HTTPS, and must return ACK for TCP.

RequestPath

String

Yes

None

The request path for the probe.

Remarks

The following code example provides a sample NetworkProfile object with a network adapter and IP address.

{
    "NetworkAdapters": [
        {
            "Name": "myNic1",
            "NetworkRef": "External",
            "IPAddresses": [
                {
                    "ConfigurationName": "MyIPConfiguration",
                    "Type": "IPv4",
                    "AllocationMethod": "Static",
                    "LoadBalancerConfigurations": [
                        {
                            "ConfigurationName": "MyLBConfiguration",
                            "FrontEndNetwork": "internet",
                            "PortConfig": {
                                "Name": "MyPortConfig",
                                "Protocol": "HTTP",
                                "FrontEndPort": 80,
                                "BackEndPort": 8080
                            },

                            "Probe": {
                                "MaxRetryCount": 5,
                                "Port": 8080,
                                "ProbeIntervalInSeconds": 20,
                                "Protocol": "HTTP",
                                "RequestPath": "http://myrequest",
                            }
                        }
                    ] // LoadBalancerConfigurations
                }
            ] //IPAddresses
        }
    ]
}

See Also

IntrinsicSettings [SPFSDK][VMROLE]
StorageProfile [SPFSDK][VMROLE]
OperatingSystemProfile [SPFSDK][VMROLE]