class Azure::Network::Mgmt::V2020_05_01::Models::NatRule

Rule of type nat.

Attributes

destination_addresses[RW]

@return [Array<String>] List of destination IP addresses or Service Tags.

destination_ports[RW]

@return [Array<String>] List of destination ports.

ip_protocols[RW]

@return [Array<FirewallPolicyRuleNetworkProtocol>] Array of FirewallPolicyRuleNetworkProtocols.

ruleType[RW]
source_addresses[RW]

@return [Array<String>] List of source IP addresses for this rule.

source_ip_groups[RW]

@return [Array<String>] List of source IpGroups for this rule.

translated_address[RW]

@return [String] The translated address for this NAT rule.

translated_port[RW]

@return [String] The translated port for this NAT rule.

Public Class Methods

mapper() click to toggle source

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

# File lib/2020-05-01/generated/azure_mgmt_network/models/nat_rule.rb, line 50
def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'NatRule',
    type: {
      name: 'Composite',
      class_name: 'NatRule',
      model_properties: {
        name: {
          client_side_validation: true,
          required: false,
          serialized_name: 'name',
          type: {
            name: 'String'
          }
        },
        description: {
          client_side_validation: true,
          required: false,
          serialized_name: 'description',
          type: {
            name: 'String'
          }
        },
        ruleType: {
          client_side_validation: true,
          required: true,
          serialized_name: 'ruleType',
          type: {
            name: 'String'
          }
        },
        ip_protocols: {
          client_side_validation: true,
          required: false,
          serialized_name: 'ipProtocols',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'FirewallPolicyRuleNetworkProtocolElementType',
                type: {
                  name: 'String'
                }
            }
          }
        },
        source_addresses: {
          client_side_validation: true,
          required: false,
          serialized_name: 'sourceAddresses',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'StringElementType',
                type: {
                  name: 'String'
                }
            }
          }
        },
        destination_addresses: {
          client_side_validation: true,
          required: false,
          serialized_name: 'destinationAddresses',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'StringElementType',
                type: {
                  name: 'String'
                }
            }
          }
        },
        destination_ports: {
          client_side_validation: true,
          required: false,
          serialized_name: 'destinationPorts',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'StringElementType',
                type: {
                  name: 'String'
                }
            }
          }
        },
        translated_address: {
          client_side_validation: true,
          required: false,
          serialized_name: 'translatedAddress',
          type: {
            name: 'String'
          }
        },
        translated_port: {
          client_side_validation: true,
          required: false,
          serialized_name: 'translatedPort',
          type: {
            name: 'String'
          }
        },
        source_ip_groups: {
          client_side_validation: true,
          required: false,
          serialized_name: 'sourceIpGroups',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'StringElementType',
                type: {
                  name: 'String'
                }
            }
          }
        }
      }
    }
  }
end
new() click to toggle source
# File lib/2020-05-01/generated/azure_mgmt_network/models/nat_rule.rb, line 16
def initialize
  @ruleType = "NatRule"
end