Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add/Edit Outbound Rule on Load Balancer and Examples #3592

Merged
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
}
],
"inboundNatPools": [],
"outboundNatRules": []
"outboundRules": []
}
}
},
Expand Down Expand Up @@ -212,7 +212,7 @@
}
}
],
"outboundNatRules": [],
"outboundRules": [],
"inboundNatPools": []
}
}
Expand Down Expand Up @@ -329,7 +329,7 @@
}
}
],
"outboundNatRules": [],
"outboundRules": [],
"inboundNatPools": []
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
}
],
"inboundNatPools": [],
"outboundNatRules": []
"outboundRules": []
}
}
},
Expand Down Expand Up @@ -211,7 +211,7 @@
}
}
],
"outboundNatRules": [],
"outboundRules": [],
"inboundNatPools": []
}
}
Expand Down Expand Up @@ -326,7 +326,7 @@
}
}
],
"outboundNatRules": [],
"outboundRules": [],
"inboundNatPools": []
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"
}
],
"outboundNatRules": []
"outboundRules": []
}
}
},
Expand Down Expand Up @@ -84,7 +84,7 @@
"loadBalancingRules": [],
"probes": [],
"inboundNatRules": [],
"outboundNatRules": [],
"outboundRules": [],
"inboundNatPools": [
{
"name": "test",
Expand Down Expand Up @@ -141,7 +141,7 @@
"loadBalancingRules": [],
"probes": [],
"inboundNatRules": [],
"outboundNatRules": [],
"outboundRules": [],
"inboundNatPools": [
{
"name": "test",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
}
],
"inboundNatPools": [],
"outboundNatRules": []
"outboundRules": []
}
}
},
Expand Down Expand Up @@ -210,7 +210,7 @@
}
}
],
"outboundNatRules": [],
"outboundRules": [],
"inboundNatPools": []
}
}
Expand Down Expand Up @@ -326,7 +326,7 @@
}
}
],
"outboundNatRules": [],
"outboundRules": [],
"inboundNatPools": []
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@
}
}
],
"outboundNatRules": [],
"outboundRules": [],
"inboundNatPools": []
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@
}
}
],
"outboundNatRules": [],
"outboundRules": [],
"inboundNatPools": []
}
},
Expand All @@ -131,7 +131,7 @@
"loadBalancingRules": [],
"probes": [],
"inboundNatRules": [],
"outboundNatRules": [],
"outboundRules": [],
"inboundNatPools": []
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@
}
}
],
"outboundNatRules": [],
"outboundRules": [],
"inboundNatPools": []
}
},
Expand All @@ -130,7 +130,7 @@
"loadBalancingRules": [],
"probes": [],
"inboundNatRules": [],
"outboundNatRules": [],
"outboundRules": [],
"inboundNatPools": []
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
}
}
],
"outboundNatRules": [],
"outboundRules": [],
"inboundNatPools": []
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@
}
}
],
"outboundNatRules": [],
"outboundRules": [],
"inboundNatPools": []
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -200,11 +200,11 @@
},
{
"currentValue": 0.0,
"id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/OutboundNatRulesPerLoadBalancer",
"id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/outboundRulesPerLoadBalancer",
"limit": 5.0,
"name": {
"localizedValue": "Outbound NAT Rules per Load Balancer",
"value": "OutboundNatRulesPerLoadBalancer"
"localizedValue": "Outbound Rules per Load Balancer",
"value": "outboundRulesPerLoadBalancer"
},
"unit": "Count"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -977,7 +977,7 @@
},
"description": "Read only. Inbound pools URIs that use this frontend IP."
},
"outboundNatRules": {
"outboundRules": {
"readOnly": true,
"type": "array",
"items": {
Expand Down Expand Up @@ -1017,6 +1017,10 @@
"$ref": "./publicIpAddress.json#/definitions/PublicIPAddress",
"description": "The reference of the Public IP resource."
},
"publicIPPrefix": {
"$ref":"./network.json#/definitions/SubResource",
"description": "The reference of the Public IP Prefix resource."
},
"provisioningState": {
"type": "string",
"description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
Expand Down Expand Up @@ -1072,7 +1076,7 @@
},
"description": "Gets load balancing rules that use this backend address pool."
},
"outboundNatRule": {
"outboundRule": {
"readOnly": true,
"$ref": "./network.json#/definitions/SubResource",
"description": "Gets outbound rules that use this backend address pool."
Expand Down Expand Up @@ -1414,7 +1418,7 @@
],
"description": "Inbound NAT pool of the load balancer."
},
"OutboundNatRulePropertiesFormat": {
"OutboundRulePropertiesFormat": {
"properties": {
"allocatedOutboundPorts": {
"type": "integer",
Expand All @@ -1435,19 +1439,36 @@
"provisioningState": {
"type": "string",
"description": "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
},
"protocol": {
"type": "string",
"description": "Protocol - TCP, UDP or All",
"enum": [
"Tcp",
"Udp",
"All"
]
},
"enableTcpReset": {
"type": "boolean",
"description": "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."
},
"idleTimeoutInMinutes": {
"type": "integer",
"description": "The timeout for the TCP idle connection"
}
},
"required": [
"backendAddressPool"
],
"description": "Outbound NAT pool of the load balancer."
"description": "Outbound pool of the load balancer."
},
"OutboundNatRule": {
"OutboundRule": {
"properties": {
"properties": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/OutboundNatRulePropertiesFormat",
"description": "Properties of load balancer outbound nat rule."
"$ref": "#/definitions/OutboundRulePropertiesFormat",
"description": "Properties of load balancer outbound rule."
},
"name": {
"type": "string",
Expand All @@ -1463,7 +1484,7 @@
"$ref": "./network.json#/definitions/SubResource"
}
],
"description": "Outbound NAT pool of the load balancer."
"description": "Outbound pool of the load balancer."
},
"LoadBalancerPropertiesFormat": {
"properties": {
Expand Down Expand Up @@ -1509,12 +1530,12 @@
},
"description": "Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules."
},
"outboundNatRules": {
"outboundRules": {
Copy link
Contributor

@yugangw-msft yugangw-msft Aug 15, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason why we want to change the type name here? This will force client applications to update their code from new OutboundNatRule() to new OutboundRule() when migrate from old api-version to this new one. Is this necessary? Or the old name is just wrong?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this is name change for new feature which is approved by dev and pm team

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So , functionality wise, I assume the outbound rules here will be a super set of the old NAT rules?
CC @tjprescott

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yugangw-msft NAT rules in load balancer context implies port forwarding (inbound NAT rule). These rules specify outbound translations and have nothing to do with port forwarding. To avoid this confusion, we opted for removing Nat from the rule name and not reuse what was begun 2+ years ago and never finished and never released.

Yes, OutboundRules are similar in shape, but different in how they are modeled.

OutboundNatRules were never available to anyone.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the clarification. This is a zero impact breaking change.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They were never commands in the CLI.

"type": "array",
"items": {
"$ref": "#/definitions/OutboundNatRule"
"$ref": "#/definitions/OutboundRule"
},
"description": "The outbound NAT rules."
"description": "The outbound rules."
},
"resourceGuid": {
"type": "string",
Expand Down