Skip to content

Commit 582d3cb

Browse files
JainRahwyunchi-ms
andauthored
Additional Nic (#21630)
Co-authored-by: Yunchi Wang <[email protected]>
1 parent 3b3cdcc commit 582d3cb

File tree

7 files changed

+137
-6
lines changed

7 files changed

+137
-6
lines changed

src/Network/Network.Management.Sdk/Generated/Generated/Models/NetworkVirtualAppliance.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,9 @@ public NetworkVirtualAppliance()
7373
/// to cloud-init and config blob.</param>
7474
/// <param name="etag">A unique read-only string that changes whenever
7575
/// the resource is updated.</param>
76-
public NetworkVirtualAppliance(string id = default(string), string name = default(string), string type = default(string), string location = default(string), IDictionary<string, string> tags = default(IDictionary<string, string>), VirtualApplianceSkuProperties nvaSku = default(VirtualApplianceSkuProperties), string addressPrefix = default(string), IList<string> bootStrapConfigurationBlobs = default(IList<string>), SubResource virtualHub = default(SubResource), IList<string> cloudInitConfigurationBlobs = default(IList<string>), string cloudInitConfiguration = default(string), long? virtualApplianceAsn = default(long?), string sshPublicKey = default(string), IList<VirtualApplianceNicProperties> virtualApplianceNics = default(IList<VirtualApplianceNicProperties>), IList<SubResource> virtualApplianceSites = default(IList<SubResource>), IList<SubResource> inboundSecurityRules = default(IList<SubResource>), string provisioningState = default(string), string deploymentType = default(string), DelegationProperties delegation = default(DelegationProperties), PartnerManagedResourceProperties partnerManagedResource = default(PartnerManagedResourceProperties), ManagedServiceIdentity identity = default(ManagedServiceIdentity), string etag = default(string))
76+
/// <param name="additionalNic">A unique read-only string that changes whenever
77+
/// the resource is updated.</param>
78+
public NetworkVirtualAppliance(string id = default(string), string name = default(string), string type = default(string), string location = default(string), IDictionary<string, string> tags = default(IDictionary<string, string>), VirtualApplianceSkuProperties nvaSku = default(VirtualApplianceSkuProperties), string addressPrefix = default(string), IList<string> bootStrapConfigurationBlobs = default(IList<string>), SubResource virtualHub = default(SubResource), IList<string> cloudInitConfigurationBlobs = default(IList<string>), string cloudInitConfiguration = default(string), long? virtualApplianceAsn = default(long?), string sshPublicKey = default(string), IList<VirtualApplianceNicProperties> virtualApplianceNics = default(IList<VirtualApplianceNicProperties>), IList<SubResource> virtualApplianceSites = default(IList<SubResource>), IList<SubResource> inboundSecurityRules = default(IList<SubResource>), string provisioningState = default(string), string deploymentType = default(string), DelegationProperties delegation = default(DelegationProperties), PartnerManagedResourceProperties partnerManagedResource = default(PartnerManagedResourceProperties), ManagedServiceIdentity identity = default(ManagedServiceIdentity), string etag = default(string), IList<VirtualApplianceAdditionalNicProperties> additionalNic = null)
7779
: base(id, name, type, location, tags)
7880
{
7981
NvaSku = nvaSku;
@@ -94,6 +96,7 @@ public NetworkVirtualAppliance()
9496
Identity = identity;
9597
Etag = etag;
9698
CustomInit();
99+
VirtualApplianceAdditionalNic = additionalNic;
97100
}
98101

99102
/// <summary>
@@ -208,6 +211,13 @@ public NetworkVirtualAppliance()
208211
[JsonProperty(PropertyName = "etag")]
209212
public string Etag { get; private set; }
210213

214+
/// <summary>
215+
/// List of Virtual Appliance Additional Network Interfaces.
216+
/// </summary>
217+
[JsonProperty(PropertyName = "properties.virtualApplianceAdditionalNics")]
218+
public IList<VirtualApplianceAdditionalNicProperties> VirtualApplianceAdditionalNic { get; set; }
219+
220+
211221
/// <summary>
212222
/// Validate the object.
213223
/// </summary>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
// <auto-generated>
2+
// Copyright (c) Microsoft Corporation. All rights reserved.
3+
// Licensed under the MIT License. See License.txt in the project root for
4+
// license information.
5+
//
6+
// Code generated by Microsoft (R) AutoRest Code Generator.
7+
// Changes may cause incorrect behavior and will be lost if the code is
8+
// regenerated.
9+
// </auto-generated>
10+
11+
namespace Microsoft.Azure.Management.Network.Models
12+
{
13+
using Newtonsoft.Json;
14+
using System.Linq;
15+
16+
/// <summary>
17+
/// Network Virtual Appliance Additional Nic Properties
18+
/// </summary>
19+
/// <remarks>
20+
/// Network Virtual Appliance Additional NIC properties.
21+
/// </remarks>
22+
public partial class VirtualApplianceAdditionalNicProperties
23+
{
24+
/// <summary>
25+
/// Initializes a new instance of the
26+
/// VirtualApplianceAdditionalNicProperties class.
27+
/// </summary>
28+
public VirtualApplianceAdditionalNicProperties()
29+
{
30+
CustomInit();
31+
}
32+
33+
/// <summary>
34+
/// Initializes a new instance of the
35+
/// VirtualApplianceAdditionalNicProperties class.
36+
/// </summary>
37+
/// <param name="name">Customer Name for additional nic</param>
38+
/// <param name="hasPublicIp">Customer Intent for Public Ip on
39+
/// additional nic</param>
40+
public VirtualApplianceAdditionalNicProperties(string name = default(string), bool? hasPublicIp = default(bool?))
41+
{
42+
Name = name;
43+
HasPublicIp = hasPublicIp;
44+
CustomInit();
45+
}
46+
47+
/// <summary>
48+
/// An initialization method that performs custom operations like setting defaults
49+
/// </summary>
50+
partial void CustomInit();
51+
52+
/// <summary>
53+
/// Gets or sets customer Name for additional nic
54+
/// </summary>
55+
[JsonProperty(PropertyName = "name")]
56+
public string Name { get; set; }
57+
58+
/// <summary>
59+
/// Gets or sets customer Intent for Public Ip on additional nic
60+
/// </summary>
61+
[JsonProperty(PropertyName = "hasPublicIp")]
62+
public bool? HasPublicIp { get; set; }
63+
64+
}
65+
}

src/Network/Network/ChangeLog.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Please leave this section at the top of the change log.
33
44
Changes for the upcoming release should go under the section titled "Upcoming Release", and should adhere to the following format:
5-
5+
66
## Upcoming Release
77
* Overview of change #1
88
- Additional information about change #1
@@ -12,7 +12,7 @@
1212
* Overview of change #3
1313
* Overview of change #4
1414
- Additional information about change #4
15-
15+
1616
## YYYY.MM.DD - Version X.Y.Z (Previous Release)
1717
* Overview of change #1
1818
- Additional information about change #1
@@ -37,6 +37,7 @@
3737
- 'New-AzApplicationGatewayFirewallCustomRuleGroupByVariable',
3838
- Also updated cmdlet to add the property of RateLimitDuration, RateLimitThreshold and GroupByUserSession
3939
- `New-AzureApplicationGatewayFirewallCustomRule`
40+
* Added support of `AdditionalNic` Property in New-AzNetworkVirtualAppliance
4041

4142
## Version 5.6.0
4243
* Updated `New-AzLoadBalancer` and `Set-AzLoadBalancer` to validate surface level parameters for global tier load balancers

src/Network/Network/Models/PSNetworkVirtualAppliance.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,7 @@ public class PSNetworkVirtualAppliance : PSTopLevelResource
4242
public PSManagedServiceIdentity Identity { get; set; }
4343

4444
public PSVirtualApplianceSkuProperties NvaSku { get; set; }
45+
46+
public IList<PSVirtualApplianceAdditionalNicProperties> VirtualApplianceAdditionalNics { get; set; }
4547
}
4648
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// ----------------------------------------------------------------------------------
2+
//
3+
// Copyright Microsoft Corporation
4+
// Licensed under the Apache License, Version 2.0 (the "License");
5+
// you may not use this file except in compliance with the License.
6+
// You may obtain a copy of the License at
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
// Unless required by applicable law or agreed to in writing, software
9+
// distributed under the License is distributed on an "AS IS" BASIS,
10+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
// See the License for the specific language governing permissions and
12+
// limitations under the License.
13+
// ----------------------------------------------------------------------------------
14+
15+
16+
using System;
17+
using System.Collections.Generic;
18+
using System.Text;
19+
20+
namespace Microsoft.Azure.Commands.Network.Models
21+
{
22+
public class PSVirtualApplianceAdditionalNicProperties
23+
{
24+
public string Name { get; set; }
25+
public bool HasPublicIP { get; set; }
26+
public string AddressFamily { get; set; }
27+
}
28+
}

src/Network/Network/NetworkVirtualAppliance/NewNetworkVirtualApplianceCommand.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,18 @@ public class NewNetworkVirtualApplianceCommand : NetworkVirtualApplianceBaseCmdl
125125
HelpMessage = "Do not ask for confirmation if you want to overwrite a resource")]
126126
public SwitchParameter Force { get; set; }
127127

128-
[Parameter(Mandatory = false, HelpMessage = "Run cmdlet in the background")]
128+
[Parameter(
129+
Mandatory = false,
130+
HelpMessage = "Run cmdlet in the background")]
129131
public SwitchParameter AsJob { get; set; }
130132

133+
[Parameter(
134+
Mandatory = false,
135+
ValueFromPipelineByPropertyName = true,
136+
HelpMessage = "The Additional Nic Properties of the Virtual Appliance.")]
137+
[ValidateNotNullOrEmpty]
138+
public IList<PSVirtualApplianceAdditionalNicProperties> AdditionalNic { get; set; }
139+
131140
public override void Execute()
132141
{
133142
base.Execute();
@@ -168,6 +177,7 @@ private PSNetworkVirtualAppliance CreateNetworkVirtualAppliance()
168177
networkVirtualAppliance.BootStrapConfigurationBlobs = this.BootStrapConfigurationBlob;
169178
networkVirtualAppliance.CloudInitConfigurationBlobs = this.CloudInitConfigurationBlob;
170179
networkVirtualAppliance.CloudInitConfiguration = this.CloudInitConfiguration;
180+
networkVirtualAppliance.VirtualApplianceAdditionalNics = this.AdditionalNic;
171181

172182
var networkVirtualApplianceModel = NetworkResourceManagerProfile.Mapper.Map<MNM.NetworkVirtualAppliance>(networkVirtualAppliance);
173183

src/Network/Network/help/New-AzNetworkVirtualAppliance.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Create a Network Virtual Appliance resource.
1616
```
1717
New-AzNetworkVirtualAppliance -Name <String> -ResourceGroupName <String> -Location <String>
1818
-VirtualHubId <String> -Sku <PSVirtualApplianceSkuProperties> -VirtualApplianceAsn <Int32>
19-
[-Identity <PSManagedServiceIdentity>] [-BootStrapConfigurationBlob <String[]>]
19+
[-Identity <PSManagedServiceIdentity>] [-BootStrapConfigurationBlob <String[]>] [-AdditionalNic <PSVirtualApplianceAdditionalNicProperties>]
2020
[-CloudInitConfigurationBlob <String[]>] [-CloudInitConfiguration <String>] [-Tag <Hashtable>] [-Force]
2121
[-AsJob] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
2222
```
@@ -26,7 +26,7 @@ New-AzNetworkVirtualAppliance -Name <String> -ResourceGroupName <String> -Locati
2626
New-AzNetworkVirtualAppliance -ResourceId <String> -Location <String> -VirtualHubId <String>
2727
-Sku <PSVirtualApplianceSkuProperties> -VirtualApplianceAsn <Int32> [-Identity <PSManagedServiceIdentity>]
2828
[-BootStrapConfigurationBlob <String[]>] [-CloudInitConfigurationBlob <String[]>]
29-
[-CloudInitConfiguration <String>] [-Tag <Hashtable>] [-Force] [-AsJob]
29+
[-CloudInitConfiguration <String>] [-Tag <Hashtable>] [-Force] [-AsJob] [-AdditionalNic <PSVirtualApplianceAdditionalNicProperties>]
3030
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
3131
```
3232

@@ -271,6 +271,21 @@ Accept pipeline input: True (ByPropertyName)
271271
Accept wildcard characters: False
272272
```
273273
274+
### -AdditionalNic
275+
The AdditionalNic Properties of the Virtual Appliance.
276+
277+
```yaml
278+
Type: Microsoft.Azure.Commands.Network.Models.PSVirtualApplianceAdditionalNicProperties
279+
Parameter Sets: (All)
280+
Aliases:
281+
282+
Required: False
283+
Position: Named
284+
Default value: None
285+
Accept pipeline input: True (ByPropertyName)
286+
Accept wildcard characters: False
287+
```
288+
274289
### -Confirm
275290
Prompts you for confirmation before running the cmdlet.
276291

0 commit comments

Comments
 (0)