-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
VmNicDetails.cs
139 lines (132 loc) · 8.52 KB
/
VmNicDetails.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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
// 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;
namespace Azure.ResourceManager.RecoveryServicesSiteRecovery.Models
{
/// <summary> Hyper V VM network details. </summary>
public partial class VmNicDetails
{
/// <summary>
/// Keeps track of any properties unknown to the library.
/// <para>
/// To assign an object to the value of this property use <see cref="BinaryData.FromObjectAsJson{T}(T, System.Text.Json.JsonSerializerOptions?)"/>.
/// </para>
/// <para>
/// To assign an already formatted json string to this property use <see cref="BinaryData.FromString(string)"/>.
/// </para>
/// <para>
/// Examples:
/// <list type="bullet">
/// <item>
/// <term>BinaryData.FromObjectAsJson("foo")</term>
/// <description>Creates a payload of "foo".</description>
/// </item>
/// <item>
/// <term>BinaryData.FromString("\"foo\"")</term>
/// <description>Creates a payload of "foo".</description>
/// </item>
/// <item>
/// <term>BinaryData.FromObjectAsJson(new { key = "value" })</term>
/// <description>Creates a payload of { "key": "value" }.</description>
/// </item>
/// <item>
/// <term>BinaryData.FromString("{\"key\": \"value\"}")</term>
/// <description>Creates a payload of { "key": "value" }.</description>
/// </item>
/// </list>
/// </para>
/// </summary>
private IDictionary<string, BinaryData> _serializedAdditionalRawData;
/// <summary> Initializes a new instance of <see cref="VmNicDetails"/>. </summary>
internal VmNicDetails()
{
IPConfigs = new ChangeTrackingList<HyperVIPConfigDetails>();
}
/// <summary> Initializes a new instance of <see cref="VmNicDetails"/>. </summary>
/// <param name="nicId"> The nic Id. </param>
/// <param name="replicaNicId"> The replica nic Id. </param>
/// <param name="sourceNicArmId"> The source nic ARM Id. </param>
/// <param name="vmNetworkName"> VM network name. </param>
/// <param name="recoveryVmNetworkId"> Recovery VM network Id. </param>
/// <param name="ipConfigs"> The IP configurations of the NIC. </param>
/// <param name="selectionType"> Selection type for failover. </param>
/// <param name="recoveryNetworkSecurityGroupId"> The id of the NSG associated with the NIC. </param>
/// <param name="isAcceleratedNetworkingOnRecoveryEnabled"> A value indicating whether the NIC has accelerated networking enabled. </param>
/// <param name="tfoVmNetworkId"> The network to be used by NIC during test failover. </param>
/// <param name="tfoNetworkSecurityGroupId"> The NSG to be used by NIC during test failover. </param>
/// <param name="isAcceleratedNetworkingOnTfoEnabled"> Whether the TFO NIC has accelerated networking enabled. </param>
/// <param name="recoveryNicName"> The name of the NIC to be used when creating target NICs. </param>
/// <param name="recoveryNicResourceGroupName"> The resource group of the NIC to be used when creating target NICs. </param>
/// <param name="isReuseExistingNicAllowed"> A value indicating whether an existing NIC is allowed to be reused during failover subject to availability. </param>
/// <param name="tfoRecoveryNicName"> The name of the NIC to be used when creating target NICs in TFO. </param>
/// <param name="tfoRecoveryNicResourceGroupName"> The resource group of the NIC to be used when creating target NICs in TFO. </param>
/// <param name="isTfoReuseExistingNicAllowed"> A value indicating whether an existing NIC is allowed to be reused during test failover subject to availability. </param>
/// <param name="targetNicName"> Target NIC name. </param>
/// <param name="serializedAdditionalRawData"> Keeps track of any properties unknown to the library. </param>
internal VmNicDetails(string nicId, string replicaNicId, ResourceIdentifier sourceNicArmId, string vmNetworkName, ResourceIdentifier recoveryVmNetworkId, IReadOnlyList<HyperVIPConfigDetails> ipConfigs, string selectionType, string recoveryNetworkSecurityGroupId, bool? isAcceleratedNetworkingOnRecoveryEnabled, ResourceIdentifier tfoVmNetworkId, string tfoNetworkSecurityGroupId, bool? isAcceleratedNetworkingOnTfoEnabled, string recoveryNicName, string recoveryNicResourceGroupName, bool? isReuseExistingNicAllowed, string tfoRecoveryNicName, string tfoRecoveryNicResourceGroupName, bool? isTfoReuseExistingNicAllowed, string targetNicName, IDictionary<string, BinaryData> serializedAdditionalRawData)
{
NicId = nicId;
ReplicaNicId = replicaNicId;
SourceNicArmId = sourceNicArmId;
VmNetworkName = vmNetworkName;
RecoveryVmNetworkId = recoveryVmNetworkId;
IPConfigs = ipConfigs;
SelectionType = selectionType;
RecoveryNetworkSecurityGroupId = recoveryNetworkSecurityGroupId;
IsAcceleratedNetworkingOnRecoveryEnabled = isAcceleratedNetworkingOnRecoveryEnabled;
TfoVmNetworkId = tfoVmNetworkId;
TfoNetworkSecurityGroupId = tfoNetworkSecurityGroupId;
IsAcceleratedNetworkingOnTfoEnabled = isAcceleratedNetworkingOnTfoEnabled;
RecoveryNicName = recoveryNicName;
RecoveryNicResourceGroupName = recoveryNicResourceGroupName;
IsReuseExistingNicAllowed = isReuseExistingNicAllowed;
TfoRecoveryNicName = tfoRecoveryNicName;
TfoRecoveryNicResourceGroupName = tfoRecoveryNicResourceGroupName;
IsTfoReuseExistingNicAllowed = isTfoReuseExistingNicAllowed;
TargetNicName = targetNicName;
_serializedAdditionalRawData = serializedAdditionalRawData;
}
/// <summary> The nic Id. </summary>
public string NicId { get; }
/// <summary> The replica nic Id. </summary>
public string ReplicaNicId { get; }
/// <summary> The source nic ARM Id. </summary>
public ResourceIdentifier SourceNicArmId { get; }
/// <summary> VM network name. </summary>
public string VmNetworkName { get; }
/// <summary> Recovery VM network Id. </summary>
public ResourceIdentifier RecoveryVmNetworkId { get; }
/// <summary> The IP configurations of the NIC. </summary>
public IReadOnlyList<HyperVIPConfigDetails> IPConfigs { get; }
/// <summary> Selection type for failover. </summary>
public string SelectionType { get; }
/// <summary> The id of the NSG associated with the NIC. </summary>
public string RecoveryNetworkSecurityGroupId { get; }
/// <summary> A value indicating whether the NIC has accelerated networking enabled. </summary>
public bool? IsAcceleratedNetworkingOnRecoveryEnabled { get; }
/// <summary> The network to be used by NIC during test failover. </summary>
public ResourceIdentifier TfoVmNetworkId { get; }
/// <summary> The NSG to be used by NIC during test failover. </summary>
public string TfoNetworkSecurityGroupId { get; }
/// <summary> Whether the TFO NIC has accelerated networking enabled. </summary>
public bool? IsAcceleratedNetworkingOnTfoEnabled { get; }
/// <summary> The name of the NIC to be used when creating target NICs. </summary>
public string RecoveryNicName { get; }
/// <summary> The resource group of the NIC to be used when creating target NICs. </summary>
public string RecoveryNicResourceGroupName { get; }
/// <summary> A value indicating whether an existing NIC is allowed to be reused during failover subject to availability. </summary>
public bool? IsReuseExistingNicAllowed { get; }
/// <summary> The name of the NIC to be used when creating target NICs in TFO. </summary>
public string TfoRecoveryNicName { get; }
/// <summary> The resource group of the NIC to be used when creating target NICs in TFO. </summary>
public string TfoRecoveryNicResourceGroupName { get; }
/// <summary> A value indicating whether an existing NIC is allowed to be reused during test failover subject to availability. </summary>
public bool? IsTfoReuseExistingNicAllowed { get; }
/// <summary> Target NIC name. </summary>
public string TargetNicName { get; }
}
}