class Azure::Network::Mgmt::V2018_02_01::Models::InboundNatRule

Inbound NAT rule of the load balancer.

Attributes

backend_ipconfiguration[RW]

@return [NetworkInterfaceIPConfiguration] 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.

backend_port[RW]

@return [Integer] The port used for the internal endpoint. Acceptable values range from 1 to 65535.

enable_floating_ip[RW]

@return [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.

etag[RW]

@return [String] A unique read-only string that changes whenever the resource is updated.

frontend_ipconfiguration[RW]

@return [SubResource] A reference to frontend IP addresses.

frontend_port[RW]

@return [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.

idle_timeout_in_minutes[RW]

@return [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.

name[RW]

@return [String] Gets name of the resource that is unique within a resource group. This name can be used to access the resource.

protocol[RW]

@return [TransportProtocol] Possible values include: 'Udp', 'Tcp', 'All'

provisioning_state[RW]

@return [String] Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.

Public Class Methods

mapper() click to toggle source

Mapper for InboundNatRule class as Ruby Hash. This will be used for serialization/deserialization.

# File lib/2018-02-01/generated/azure_mgmt_network/models/inbound_nat_rule.rb, line 65
def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'InboundNatRule',
    type: {
      name: 'Composite',
      class_name: 'InboundNatRule',
      model_properties: {
        id: {
          client_side_validation: true,
          required: false,
          serialized_name: 'id',
          type: {
            name: 'String'
          }
        },
        frontend_ipconfiguration: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.frontendIPConfiguration',
          type: {
            name: 'Composite',
            class_name: 'SubResource'
          }
        },
        backend_ipconfiguration: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.backendIPConfiguration',
          type: {
            name: 'Composite',
            class_name: 'NetworkInterfaceIPConfiguration'
          }
        },
        protocol: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.protocol',
          type: {
            name: 'String'
          }
        },
        frontend_port: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.frontendPort',
          type: {
            name: 'Number'
          }
        },
        backend_port: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.backendPort',
          type: {
            name: 'Number'
          }
        },
        idle_timeout_in_minutes: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.idleTimeoutInMinutes',
          type: {
            name: 'Number'
          }
        },
        enable_floating_ip: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.enableFloatingIP',
          type: {
            name: 'Boolean'
          }
        },
        provisioning_state: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.provisioningState',
          type: {
            name: 'String'
          }
        },
        name: {
          client_side_validation: true,
          required: false,
          serialized_name: 'name',
          type: {
            name: 'String'
          }
        },
        etag: {
          client_side_validation: true,
          required: false,
          serialized_name: 'etag',
          type: {
            name: 'String'
          }
        }
      }
    }
  }
end