inbound_nat_rules
Creates, updates, deletes, gets or lists an inbound_nat_rules resource.
Overview
| Name | inbound_nat_rules |
| Type | Resource |
| Id | azure.network.inbound_nat_rules |
Fields
The following fields are returned by SELECT queries:
- get
- list
| Name | Datatype | Description |
|---|---|---|
id | string | Resource ID. |
name | string | Name of the resource. |
backendAddressPool | object | Reference to another subresource. |
backendIPConfiguration | object | A reference to a private IP address defined on a network interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations is forwarded to the backend IP. |
backendPort | integer | The port used for the internal endpoint. Acceptable values range from 1 to 65535. |
enableFloatingIP | boolean | 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. |
enableTcpReset | boolean | 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. |
etag | string | A unique read-only string that changes whenever the resource is updated. |
frontendIPConfiguration | object | Reference to another subresource. |
frontendPort | integer | The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534. |
frontendPortRangeEnd | integer | The port range end for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534. |
frontendPortRangeStart | integer | The port range start for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534. |
idleTimeoutInMinutes | integer | 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. |
protocol | string | The reference to the transport protocol used by the load balancing rule. Known values are: "Udp", "Tcp", "All", and "Quic". (Udp, Tcp, All, Quic) |
provisioningState | string | The provisioning state of the inbound NAT rule resource. Known values are: "Failed", "Succeeded", "Canceled", "Creating", "Updating", and "Deleting". (Failed, Succeeded, Canceled, Creating, Updating, Deleting) |
type | string | Resource type. |
| Name | Datatype | Description |
|---|---|---|
id | string | Resource ID. |
name | string | Name of the resource. |
backendAddressPool | object | Reference to another subresource. |
backendIPConfiguration | object | A reference to a private IP address defined on a network interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations is forwarded to the backend IP. |
backendPort | integer | The port used for the internal endpoint. Acceptable values range from 1 to 65535. |
enableFloatingIP | boolean | 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. |
enableTcpReset | boolean | 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. |
etag | string | A unique read-only string that changes whenever the resource is updated. |
frontendIPConfiguration | object | Reference to another subresource. |
frontendPort | integer | The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534. |
frontendPortRangeEnd | integer | The port range end for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534. |
frontendPortRangeStart | integer | The port range start for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534. |
idleTimeoutInMinutes | integer | 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. |
protocol | string | The reference to the transport protocol used by the load balancing rule. Known values are: "Udp", "Tcp", "All", and "Quic". (Udp, Tcp, All, Quic) |
provisioningState | string | The provisioning state of the inbound NAT rule resource. Known values are: "Failed", "Succeeded", "Canceled", "Creating", "Updating", and "Deleting". (Failed, Succeeded, Canceled, Creating, Updating, Deleting) |
type | string | Resource type. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | resource_group_name, load_balancer_name, inbound_nat_rule_name, subscription_id | $expand | Gets the specified load balancer inbound NAT rule. |
list | select | resource_group_name, load_balancer_name, subscription_id | Gets all the inbound NAT rules in a load balancer. | |
create_or_update | insert | resource_group_name, load_balancer_name, inbound_nat_rule_name, subscription_id | Creates or updates a load balancer inbound NAT rule. | |
create_or_update | replace | resource_group_name, load_balancer_name, inbound_nat_rule_name, subscription_id | Creates or updates a load balancer inbound NAT rule. | |
delete | delete | resource_group_name, load_balancer_name, inbound_nat_rule_name, subscription_id | Deletes the specified load balancer inbound NAT rule. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
inbound_nat_rule_name | string | The name of the inbound NAT rule. Required. |
load_balancer_name | string | The name of the load balancer. Required. |
resource_group_name | string | The name of the resource group. The name is case insensitive. Required. |
subscription_id | string | |
$expand | string | Expands referenced resources. Default value is None. |
SELECT examples
- get
- list
Gets the specified load balancer inbound NAT rule.
SELECT
id,
name,
backendAddressPool,
backendIPConfiguration,
backendPort,
enableFloatingIP,
enableTcpReset,
etag,
frontendIPConfiguration,
frontendPort,
frontendPortRangeEnd,
frontendPortRangeStart,
idleTimeoutInMinutes,
protocol,
provisioningState,
type
FROM azure.network.inbound_nat_rules
WHERE resource_group_name = '{{ resource_group_name }}' -- required
AND load_balancer_name = '{{ load_balancer_name }}' -- required
AND inbound_nat_rule_name = '{{ inbound_nat_rule_name }}' -- required
AND subscription_id = '{{ subscription_id }}' -- required
AND $expand = '{{ $expand }}'
;
Gets all the inbound NAT rules in a load balancer.
SELECT
id,
name,
backendAddressPool,
backendIPConfiguration,
backendPort,
enableFloatingIP,
enableTcpReset,
etag,
frontendIPConfiguration,
frontendPort,
frontendPortRangeEnd,
frontendPortRangeStart,
idleTimeoutInMinutes,
protocol,
provisioningState,
type
FROM azure.network.inbound_nat_rules
WHERE resource_group_name = '{{ resource_group_name }}' -- required
AND load_balancer_name = '{{ load_balancer_name }}' -- required
AND subscription_id = '{{ subscription_id }}' -- required
;
INSERT examples
- create_or_update
- Manifest
Creates or updates a load balancer inbound NAT rule.
INSERT INTO azure.network.inbound_nat_rules (
id,
name,
properties,
resource_group_name,
load_balancer_name,
inbound_nat_rule_name,
subscription_id
)
SELECT
'{{ id }}',
'{{ name }}',
'{{ properties }}',
'{{ resource_group_name }}',
'{{ load_balancer_name }}',
'{{ inbound_nat_rule_name }}',
'{{ subscription_id }}'
RETURNING
id,
name,
etag,
properties,
type
;
# Description fields are for documentation purposes
- name: inbound_nat_rules
props:
- name: resource_group_name
value: "{{ resource_group_name }}"
description: Required parameter for the inbound_nat_rules resource.
- name: load_balancer_name
value: "{{ load_balancer_name }}"
description: Required parameter for the inbound_nat_rules resource.
- name: inbound_nat_rule_name
value: "{{ inbound_nat_rule_name }}"
description: Required parameter for the inbound_nat_rules resource.
- name: subscription_id
value: "{{ subscription_id }}"
description: Required parameter for the inbound_nat_rules resource.
- name: id
value: "{{ id }}"
description: |
Resource ID.
- name: name
value: "{{ name }}"
description: |
Name of the resource.
- name: properties
description: |
Properties of load balancer inbound NAT rule.
value:
frontendIPConfiguration:
id: "{{ id }}"
backendIPConfiguration:
id: "{{ id }}"
name: "{{ name }}"
type: "{{ type }}"
properties:
gatewayLoadBalancer:
id: "{{ id }}"
virtualNetworkTaps:
- id: "{{ id }}"
name: "{{ name }}"
type: "{{ type }}"
location: "{{ location }}"
tags: "{{ tags }}"
properties:
networkInterfaceTapConfigurations: "{{ networkInterfaceTapConfigurations }}"
resourceGuid: "{{ resourceGuid }}"
provisioningState: "{{ provisioningState }}"
destinationNetworkInterfaceIPConfiguration: "{{ destinationNetworkInterfaceIPConfiguration }}"
destinationLoadBalancerFrontEndIPConfiguration: "{{ destinationLoadBalancerFrontEndIPConfiguration }}"
destinationPort: {{ destinationPort }}
etag: "{{ etag }}"
applicationGatewayBackendAddressPools:
- id: "{{ id }}"
properties:
backendIPConfigurations: "{{ backendIPConfigurations }}"
backendAddresses: "{{ backendAddresses }}"
provisioningState: "{{ provisioningState }}"
name: "{{ name }}"
etag: "{{ etag }}"
type: "{{ type }}"
loadBalancerBackendAddressPools:
- id: "{{ id }}"
name: "{{ name }}"
type: "{{ type }}"
properties:
location: "{{ location }}"
tunnelInterfaces: "{{ tunnelInterfaces }}"
loadBalancerBackendAddresses: "{{ loadBalancerBackendAddresses }}"
backendIPConfigurations: "{{ backendIPConfigurations }}"
loadBalancingRules: "{{ loadBalancingRules }}"
outboundRule: "{{ outboundRule }}"
outboundRules: "{{ outboundRules }}"
inboundNatRules: "{{ inboundNatRules }}"
provisioningState: "{{ provisioningState }}"
drainPeriodInSeconds: {{ drainPeriodInSeconds }}
virtualNetwork: "{{ virtualNetwork }}"
syncMode: "{{ syncMode }}"
etag: "{{ etag }}"
loadBalancerInboundNatRules:
- id: "{{ id }}"
name: "{{ name }}"
type: "{{ type }}"
properties:
frontendIPConfiguration: "{{ frontendIPConfiguration }}"
backendIPConfiguration: "{{ backendIPConfiguration }}"
protocol: "{{ protocol }}"
frontendPort: {{ frontendPort }}
backendPort: {{ backendPort }}
idleTimeoutInMinutes: {{ idleTimeoutInMinutes }}
enableFloatingIP: {{ enableFloatingIP }}
enableTcpReset: {{ enableTcpReset }}
frontendPortRangeStart: {{ frontendPortRangeStart }}
frontendPortRangeEnd: {{ frontendPortRangeEnd }}
backendAddressPool: "{{ backendAddressPool }}"
provisioningState: "{{ provisioningState }}"
etag: "{{ etag }}"
privateIPAddress: "{{ privateIPAddress }}"
privateIPAddressPrefixLength: {{ privateIPAddressPrefixLength }}
privateIPAllocationMethod: "{{ privateIPAllocationMethod }}"
privateIPAddressVersion: "{{ privateIPAddressVersion }}"
subnet:
id: "{{ id }}"
name: "{{ name }}"
type: "{{ type }}"
properties:
addressPrefix: "{{ addressPrefix }}"
addressPrefixes: "{{ addressPrefixes }}"
networkSecurityGroup: "{{ networkSecurityGroup }}"
routeTable: "{{ routeTable }}"
natGateway: "{{ natGateway }}"
serviceEndpoints: "{{ serviceEndpoints }}"
serviceEndpointPolicies: "{{ serviceEndpointPolicies }}"
privateEndpoints: "{{ privateEndpoints }}"
ipConfigurations: "{{ ipConfigurations }}"
ipConfigurationProfiles: "{{ ipConfigurationProfiles }}"
ipAllocations: "{{ ipAllocations }}"
resourceNavigationLinks: "{{ resourceNavigationLinks }}"
serviceAssociationLinks: "{{ serviceAssociationLinks }}"
delegations: "{{ delegations }}"
purpose: "{{ purpose }}"
provisioningState: "{{ provisioningState }}"
privateEndpointNetworkPolicies: "{{ privateEndpointNetworkPolicies }}"
privateLinkServiceNetworkPolicies: "{{ privateLinkServiceNetworkPolicies }}"
applicationGatewayIPConfigurations: "{{ applicationGatewayIPConfigurations }}"
sharingScope: "{{ sharingScope }}"
defaultOutboundAccess: {{ defaultOutboundAccess }}
ipamPoolPrefixAllocations: "{{ ipamPoolPrefixAllocations }}"
serviceGateway: "{{ serviceGateway }}"
etag: "{{ etag }}"
primary: {{ primary }}
publicIPAddress:
id: "{{ id }}"
name: "{{ name }}"
type: "{{ type }}"
location: "{{ location }}"
tags: "{{ tags }}"
properties:
publicIPAllocationMethod: "{{ publicIPAllocationMethod }}"
publicIPAddressVersion: "{{ publicIPAddressVersion }}"
ipConfiguration: "{{ ipConfiguration }}"
dnsSettings: "{{ dnsSettings }}"
ddosSettings: "{{ ddosSettings }}"
ipTags: "{{ ipTags }}"
ipAddress: "{{ ipAddress }}"
publicIPPrefix: "{{ publicIPPrefix }}"
idleTimeoutInMinutes: {{ idleTimeoutInMinutes }}
resourceGuid: "{{ resourceGuid }}"
provisioningState: "{{ provisioningState }}"
servicePublicIPAddress: "{{ servicePublicIPAddress }}"
natGateway: "{{ natGateway }}"
migrationPhase: "{{ migrationPhase }}"
linkedPublicIPAddress: "{{ linkedPublicIPAddress }}"
deleteOption: "{{ deleteOption }}"
extendedLocation:
name: "{{ name }}"
type: "{{ type }}"
sku:
name: "{{ name }}"
tier: "{{ tier }}"
etag: "{{ etag }}"
zones:
- "{{ zones }}"
applicationSecurityGroups:
- id: "{{ id }}"
name: "{{ name }}"
type: "{{ type }}"
location: "{{ location }}"
tags: "{{ tags }}"
properties:
resourceGuid: "{{ resourceGuid }}"
provisioningState: "{{ provisioningState }}"
etag: "{{ etag }}"
provisioningState: "{{ provisioningState }}"
privateLinkConnectionProperties:
groupId: "{{ groupId }}"
requiredMemberName: "{{ requiredMemberName }}"
fqdns:
- "{{ fqdns }}"
etag: "{{ etag }}"
protocol: "{{ protocol }}"
frontendPort: {{ frontendPort }}
backendPort: {{ backendPort }}
idleTimeoutInMinutes: {{ idleTimeoutInMinutes }}
enableFloatingIP: {{ enableFloatingIP }}
enableTcpReset: {{ enableTcpReset }}
frontendPortRangeStart: {{ frontendPortRangeStart }}
frontendPortRangeEnd: {{ frontendPortRangeEnd }}
backendAddressPool:
id: "{{ id }}"
provisioningState: "{{ provisioningState }}"
REPLACE examples
- create_or_update
Creates or updates a load balancer inbound NAT rule.
REPLACE azure.network.inbound_nat_rules
SET
id = '{{ id }}',
name = '{{ name }}',
properties = '{{ properties }}'
WHERE
resource_group_name = '{{ resource_group_name }}' --required
AND load_balancer_name = '{{ load_balancer_name }}' --required
AND inbound_nat_rule_name = '{{ inbound_nat_rule_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
RETURNING
id,
name,
etag,
properties,
type;
DELETE examples
- delete
Deletes the specified load balancer inbound NAT rule.
DELETE FROM azure.network.inbound_nat_rules
WHERE resource_group_name = '{{ resource_group_name }}' --required
AND load_balancer_name = '{{ load_balancer_name }}' --required
AND inbound_nat_rule_name = '{{ inbound_nat_rule_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
;