class Azure::Network::Mgmt::V2020_08_01::Models::VpnGatewayNatRule

VpnGatewayNatRule Resource.

Attributes

etag[RW]

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

external_mappings[RW]

@return [Array<VpnNatRuleMapping>] The private IP address external mapping for NAT.

internal_mappings[RW]

@return [Array<VpnNatRuleMapping>] The private IP address internal mapping for NAT.

ip_configuration_id[RW]

@return [String] The IP Configuration ID this NAT rule applies to.

mode[RW]

@return [VpnNatRuleMode] The Source NAT direction of a VPN NAT. Possible values include: 'EgressSnat', 'IngressSnat'

name[RW]

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

provisioning_state[RW]

@return [ProvisioningState] The provisioning state of the NAT Rule resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed'

type[RW]

@return [String] Resource type.

vpn_gateway_nat_rule_properties_type[RW]

@return [VpnNatRuleType] The type of NAT rule for VPN NAT. Possible values include: 'Static', 'Dynamic'

Private Class Methods

mapper() click to toggle source

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

# File lib/2020-08-01/generated/azure_mgmt_network/models/vpn_gateway_nat_rule.rb, line 61
def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'VpnGatewayNatRule',
    type: {
      name: 'Composite',
      class_name: 'VpnGatewayNatRule',
      model_properties: {
        id: {
          client_side_validation: true,
          required: false,
          serialized_name: 'id',
          type: {
            name: 'String'
          }
        },
        provisioning_state: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.provisioningState',
          type: {
            name: 'String'
          }
        },
        vpn_gateway_nat_rule_properties_type: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.type',
          type: {
            name: 'String'
          }
        },
        mode: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.mode',
          type: {
            name: 'String'
          }
        },
        internal_mappings: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.internalMappings',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'VpnNatRuleMappingElementType',
                type: {
                  name: 'Composite',
                  class_name: 'VpnNatRuleMapping'
                }
            }
          }
        },
        external_mappings: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.externalMappings',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'VpnNatRuleMappingElementType',
                type: {
                  name: 'Composite',
                  class_name: 'VpnNatRuleMapping'
                }
            }
          }
        },
        ip_configuration_id: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.ipConfigurationId',
          type: {
            name: 'String'
          }
        },
        egress_vpn_site_link_connections: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.egressVpnSiteLinkConnections',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'SubResourceElementType',
                type: {
                  name: 'Composite',
                  class_name: 'SubResource'
                }
            }
          }
        },
        ingress_vpn_site_link_connections: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.ingressVpnSiteLinkConnections',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'SubResourceElementType',
                type: {
                  name: 'Composite',
                  class_name: 'SubResource'
                }
            }
          }
        },
        name: {
          client_side_validation: true,
          required: false,
          serialized_name: 'name',
          type: {
            name: 'String'
          }
        },
        etag: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'etag',
          type: {
            name: 'String'
          }
        },
        type: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'type',
          type: {
            name: 'String'
          }
        }
      }
    }
  }
end