-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
VirtualMachineScaleSetUpdateNetworkConfiguration.cs
103 lines (95 loc) · 6.24 KB
/
VirtualMachineScaleSetUpdateNetworkConfiguration.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// <auto-generated/>
#nullable disable
using System;
using System.Collections.Generic;
using Azure.Core;
using Azure.ResourceManager.Resources.Models;
namespace Azure.ResourceManager.Compute.Models
{
/// <summary> Describes a virtual machine scale set network profile's network configurations. </summary>
public partial class VirtualMachineScaleSetUpdateNetworkConfiguration : ComputeWriteableSubResourceData
{
/// <summary> Initializes a new instance of <see cref="VirtualMachineScaleSetUpdateNetworkConfiguration"/>. </summary>
public VirtualMachineScaleSetUpdateNetworkConfiguration()
{
IPConfigurations = new ChangeTrackingList<VirtualMachineScaleSetUpdateIPConfiguration>();
}
/// <summary> Initializes a new instance of <see cref="VirtualMachineScaleSetUpdateNetworkConfiguration"/>. </summary>
/// <param name="id"> Resource Id. </param>
/// <param name="serializedAdditionalRawData"> Keeps track of any properties unknown to the library. </param>
/// <param name="name"> The network configuration name. </param>
/// <param name="primary"> Whether this is a primary NIC on a virtual machine. </param>
/// <param name="enableAcceleratedNetworking"> Specifies whether the network interface is accelerated networking-enabled. </param>
/// <param name="isTcpStateTrackingDisabled"> Specifies whether the network interface is disabled for tcp state tracking. </param>
/// <param name="enableFpga"> Specifies whether the network interface is FPGA networking-enabled. </param>
/// <param name="networkSecurityGroup"> The network security group. </param>
/// <param name="dnsSettings"> The dns settings to be applied on the network interfaces. </param>
/// <param name="ipConfigurations"> The virtual machine scale set IP Configuration. </param>
/// <param name="enableIPForwarding"> Whether IP forwarding enabled on this NIC. </param>
/// <param name="deleteOption"> Specify what happens to the network interface when the VM is deleted. </param>
/// <param name="auxiliaryMode"> Specifies whether the Auxiliary mode is enabled for the Network Interface resource. </param>
/// <param name="auxiliarySku"> Specifies whether the Auxiliary sku is enabled for the Network Interface resource. </param>
internal VirtualMachineScaleSetUpdateNetworkConfiguration(ResourceIdentifier id, IDictionary<string, BinaryData> serializedAdditionalRawData, string name, bool? primary, bool? enableAcceleratedNetworking, bool? isTcpStateTrackingDisabled, bool? enableFpga, WritableSubResource networkSecurityGroup, VirtualMachineScaleSetNetworkConfigurationDnsSettings dnsSettings, IList<VirtualMachineScaleSetUpdateIPConfiguration> ipConfigurations, bool? enableIPForwarding, ComputeDeleteOption? deleteOption, ComputeNetworkInterfaceAuxiliaryMode? auxiliaryMode, ComputeNetworkInterfaceAuxiliarySku? auxiliarySku) : base(id, serializedAdditionalRawData)
{
Name = name;
Primary = primary;
EnableAcceleratedNetworking = enableAcceleratedNetworking;
IsTcpStateTrackingDisabled = isTcpStateTrackingDisabled;
EnableFpga = enableFpga;
NetworkSecurityGroup = networkSecurityGroup;
DnsSettings = dnsSettings;
IPConfigurations = ipConfigurations;
EnableIPForwarding = enableIPForwarding;
DeleteOption = deleteOption;
AuxiliaryMode = auxiliaryMode;
AuxiliarySku = auxiliarySku;
}
/// <summary> The network configuration name. </summary>
public string Name { get; set; }
/// <summary> Whether this is a primary NIC on a virtual machine. </summary>
public bool? Primary { get; set; }
/// <summary> Specifies whether the network interface is accelerated networking-enabled. </summary>
public bool? EnableAcceleratedNetworking { get; set; }
/// <summary> Specifies whether the network interface is disabled for tcp state tracking. </summary>
public bool? IsTcpStateTrackingDisabled { get; set; }
/// <summary> Specifies whether the network interface is FPGA networking-enabled. </summary>
public bool? EnableFpga { get; set; }
/// <summary> The network security group. </summary>
internal WritableSubResource NetworkSecurityGroup { get; set; }
/// <summary> Gets or sets Id. </summary>
public ResourceIdentifier NetworkSecurityGroupId
{
get => NetworkSecurityGroup is null ? default : NetworkSecurityGroup.Id;
set
{
if (NetworkSecurityGroup is null)
NetworkSecurityGroup = new WritableSubResource();
NetworkSecurityGroup.Id = value;
}
}
/// <summary> The dns settings to be applied on the network interfaces. </summary>
internal VirtualMachineScaleSetNetworkConfigurationDnsSettings DnsSettings { get; set; }
/// <summary> List of DNS servers IP addresses. </summary>
public IList<string> DnsServers
{
get
{
if (DnsSettings is null)
DnsSettings = new VirtualMachineScaleSetNetworkConfigurationDnsSettings();
return DnsSettings.DnsServers;
}
}
/// <summary> The virtual machine scale set IP Configuration. </summary>
public IList<VirtualMachineScaleSetUpdateIPConfiguration> IPConfigurations { get; }
/// <summary> Whether IP forwarding enabled on this NIC. </summary>
public bool? EnableIPForwarding { get; set; }
/// <summary> Specify what happens to the network interface when the VM is deleted. </summary>
public ComputeDeleteOption? DeleteOption { get; set; }
/// <summary> Specifies whether the Auxiliary mode is enabled for the Network Interface resource. </summary>
public ComputeNetworkInterfaceAuxiliaryMode? AuxiliaryMode { get; set; }
/// <summary> Specifies whether the Auxiliary sku is enabled for the Network Interface resource. </summary>
public ComputeNetworkInterfaceAuxiliarySku? AuxiliarySku { get; set; }
}
}