Skip to content

Commit 45f3d44

Browse files
Introduce additional properties to InboundNatRule and LoadBalancerRule in Azure.ResourceManager.Network (Azure#47335)
* finish inboundnatpool * finish loadbalancingrule * export api * fix test cases * update loadbalancingrule * rerecord * update changelog of network * update changelog of compute * fix issues in changelogs
1 parent bbbc0bb commit 45f3d44

20 files changed

+1586
-753
lines changed

sdk/compute/Azure.ResourceManager.Compute/CHANGELOG.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Release History
22

3-
## 1.7.0-beta.2 (Unreleased)
3+
## 1.7.0-beta.2 (2024-12-11)
44

55
### Features Added
66

@@ -9,12 +9,6 @@
99
- Added `VirtualMachineScaleSetProperties` which supports `AdditionalProperties` to send and receive private/internal properties supported by the service.
1010
- Added `AdditionalProperties` to `VirtualMachineSizeProperties` and `VirtualMachineScaleSetUpgradePolicy` classes to support private/internal properties supported by the service.
1111

12-
### Breaking Changes
13-
14-
### Bugs Fixed
15-
16-
### Other Changes
17-
1812
## 1.7.0-beta.1 (2024-10-15)
1913

2014
### Features Added

sdk/network/Azure.ResourceManager.Network/CHANGELOG.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
# Release History
22

3-
## 1.10.0-beta.1 (Unreleased)
3+
## 1.10.0-beta.1 (2024-12-11)
44

55
### Features Added
66

77
- Exposed `JsonModelWriteCore` for model serialization procedure.
8-
9-
### Breaking Changes
10-
11-
### Bugs Fixed
12-
13-
### Other Changes
8+
- Please use the properties in `LoadBalancingRuleData.Properties` to set the properties of the LoadBalancingRule, instead of using those properties at the root level of `LoadBalancingRuleData` class.
9+
- Please use the properties in `LoadBalancerInboundNatPool.Properties` to set the properties of the LoadBalancerInboundNatPool, instead of using those properties at the root level of `LoadBalancerInboundNatPool` class.
10+
- Added `LoadBalancingRuleProperties` which supports `AdditionalProperties` to send and receive private/internal properties supported by the service.
11+
- Added `LoadBalancerInboundNatPoolProperties` which supports `AdditionalProperties` to send and receive private/internal properties supported by the service.
1412

1513
## 1.9.0 (2024-09-12)
1614

sdk/network/Azure.ResourceManager.Network/api/Azure.ResourceManager.Network.net8.0.cs

Lines changed: 74 additions & 0 deletions
Large diffs are not rendered by default.

sdk/network/Azure.ResourceManager.Network/api/Azure.ResourceManager.Network.netstandard2.0.cs

Lines changed: 74 additions & 0 deletions
Large diffs are not rendered by default.

sdk/network/Azure.ResourceManager.Network/assets.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"AssetsRepo": "Azure/azure-sdk-assets",
33
"AssetsRepoPrefixPath": "net",
44
"TagPrefix": "net/network/Azure.ResourceManager.Network",
5-
"Tag": "net/network/Azure.ResourceManager.Network_8dc108eec8"
5+
"Tag": "net/network/Azure.ResourceManager.Network_a0e0fe636b"
66
}

sdk/network/Azure.ResourceManager.Network/samples/Generated/Samples/Sample_LoadBalancerCollection.cs

Lines changed: 30 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/network/Azure.ResourceManager.Network/src/Customization/ArmNetworkModelFactory.cs

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,5 +313,86 @@ public static InboundSecurityRule InboundSecurityRule(ResourceIdentifier id, str
313313
{
314314
return InboundSecurityRule(id: id, name: name, resourceType: resourceType, etag: etag, ruleType: default, rules: rules, provisioningState: provisioningState);
315315
}
316+
317+
/// <summary> Initializes a new instance of <see cref="Models.LoadBalancerInboundNatPool"/>. </summary>
318+
/// <param name="id"> Resource ID. </param>
319+
/// <param name="name"> Resource name. </param>
320+
/// <param name="resourceType"> Resource type. </param>
321+
/// <param name="etag"> A unique read-only string that changes whenever the resource is updated. </param>
322+
/// <param name="frontendIPConfigurationId"> A reference to frontend IP addresses. </param>
323+
/// <param name="protocol"> The reference to the transport protocol used by the inbound NAT pool. </param>
324+
/// <param name="frontendPortRangeStart"> The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534. </param>
325+
/// <param name="frontendPortRangeEnd"> The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535. </param>
326+
/// <param name="backendPort"> The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535. </param>
327+
/// <param name="idleTimeoutInMinutes"> The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP. </param>
328+
/// <param name="enableFloatingIP"> Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. </param>
329+
/// <param name="enableTcpReset"> Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. </param>
330+
/// <param name="provisioningState"> The provisioning state of the inbound NAT pool resource. </param>
331+
/// <returns> A new <see cref="Models.LoadBalancerInboundNatPool"/> instance for mocking. </returns>
332+
[EditorBrowsable(EditorBrowsableState.Never)]
333+
public static LoadBalancerInboundNatPool LoadBalancerInboundNatPool(ResourceIdentifier id = null, string name = null, ResourceType? resourceType = null, ETag? etag = null, ResourceIdentifier frontendIPConfigurationId = null, LoadBalancingTransportProtocol? protocol = null, int? frontendPortRangeStart = null, int? frontendPortRangeEnd = null, int? backendPort = null, int? idleTimeoutInMinutes = null, bool? enableFloatingIP = null, bool? enableTcpReset = null, NetworkProvisioningState? provisioningState = null)
334+
{
335+
return LoadBalancerInboundNatPool(
336+
id: id,
337+
name: name,
338+
resourceType: resourceType,
339+
etag: etag,
340+
properties: LoadBalancerInboundNatPoolProperties(
341+
frontendIPConfigurationId: frontendIPConfigurationId,
342+
protocol: protocol ?? default,
343+
frontendPortRangeStart: frontendPortRangeStart ?? default,
344+
frontendPortRangeEnd: frontendPortRangeEnd ?? default,
345+
backendPort: backendPort ?? default,
346+
idleTimeoutInMinutes: idleTimeoutInMinutes,
347+
enableFloatingIP: enableFloatingIP,
348+
enableTcpReset: enableTcpReset,
349+
provisioningState: provisioningState)
350+
);
351+
}
352+
353+
354+
/// <summary> Initializes a new instance of <see cref="Network.LoadBalancingRuleData"/>. </summary>
355+
/// <param name="id"> Resource ID. </param>
356+
/// <param name="name"> Resource name. </param>
357+
/// <param name="resourceType"> Resource type. </param>
358+
/// <param name="etag"> A unique read-only string that changes whenever the resource is updated. </param>
359+
/// <param name="frontendIPConfigurationId"> A reference to frontend IP addresses. </param>
360+
/// <param name="backendAddressPoolId"> A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs. </param>
361+
/// <param name="backendAddressPools"> An array of references to pool of DIPs. </param>
362+
/// <param name="probeId"> The reference to the load balancer probe used by the load balancing rule. </param>
363+
/// <param name="protocol"> The reference to the transport protocol used by the load balancing rule. </param>
364+
/// <param name="loadDistribution"> The load distribution policy for this rule. </param>
365+
/// <param name="frontendPort"> The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port". </param>
366+
/// <param name="backendPort"> The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables "Any Port". </param>
367+
/// <param name="idleTimeoutInMinutes"> The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP. </param>
368+
/// <param name="enableFloatingIP"> Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. </param>
369+
/// <param name="enableTcpReset"> Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. </param>
370+
/// <param name="disableOutboundSnat"> Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule. </param>
371+
/// <param name="provisioningState"> The provisioning state of the load balancing rule resource. </param>
372+
/// <returns> A new <see cref="Network.LoadBalancingRuleData"/> instance for mocking. </returns>
373+
[EditorBrowsable(EditorBrowsableState.Never)]
374+
public static LoadBalancingRuleData LoadBalancingRuleData(ResourceIdentifier id = null, string name = null, ResourceType? resourceType = null, ETag? etag = null, ResourceIdentifier frontendIPConfigurationId = null, ResourceIdentifier backendAddressPoolId = null, IEnumerable<WritableSubResource> backendAddressPools = null, ResourceIdentifier probeId = null, LoadBalancingTransportProtocol? protocol = null, LoadDistribution? loadDistribution = null, int? frontendPort = null, int? backendPort = null, int? idleTimeoutInMinutes = null, bool? enableFloatingIP = null, bool? enableTcpReset = null, bool? disableOutboundSnat = null, NetworkProvisioningState? provisioningState = null)
375+
{
376+
return LoadBalancingRuleData(
377+
id: id,
378+
name: name,
379+
resourceType: resourceType,
380+
etag: etag,
381+
properties: LoadBalancingRuleProperties(
382+
frontendIPConfigurationId: frontendIPConfigurationId,
383+
backendAddressPoolId: backendAddressPoolId,
384+
backendAddressPools: backendAddressPools,
385+
probeId: probeId,
386+
protocol: protocol ?? default,
387+
loadDistribution: loadDistribution ?? default,
388+
frontendPort: frontendPort ?? default,
389+
backendPort: backendPort ?? default,
390+
idleTimeoutInMinutes: idleTimeoutInMinutes,
391+
enableFloatingIP: enableFloatingIP,
392+
enableTcpReset: enableTcpReset,
393+
disableOutboundSnat: disableOutboundSnat,
394+
provisioningState: provisioningState)
395+
);
396+
}
316397
}
317398
}

0 commit comments

Comments
 (0)