// Code generated by azure-service-operator-codegen. DO NOT EDIT.
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
package arm

type RouteTablesRoute_STATUS struct {
	// Etag: A unique read-only string that changes whenever the resource is updated.
	Etag *string `json:"etag,omitempty"`

	// Id: Resource ID.
	Id *string `json:"id,omitempty"`

	// Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.
	Name *string `json:"name,omitempty"`

	// Properties: Properties of the route.
	Properties *RoutePropertiesFormat_STATUS `json:"properties,omitempty"`

	// Type: The type of the resource.
	Type *string `json:"type,omitempty"`
}

// Route resource.
type RoutePropertiesFormat_STATUS struct {
	// AddressPrefix: The destination CIDR to which the route applies.
	AddressPrefix *string `json:"addressPrefix,omitempty"`

	// HasBgpOverride: A value indicating whether this route overrides overlapping BGP routes regardless of LPM.
	HasBgpOverride *bool `json:"hasBgpOverride,omitempty"`

	// NextHopIpAddress: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the
	// next hop type is VirtualAppliance.
	NextHopIpAddress *string `json:"nextHopIpAddress,omitempty"`

	// NextHopType: The type of Azure hop the packet should be sent to.
	NextHopType *RouteNextHopType_STATUS `json:"nextHopType,omitempty"`

	// ProvisioningState: The provisioning state of the route resource.
	ProvisioningState *ProvisioningState_STATUS `json:"provisioningState,omitempty"`
}

// The type of Azure hop the packet should be sent to.
type RouteNextHopType_STATUS string

const (
	RouteNextHopType_STATUS_Internet              = RouteNextHopType_STATUS("Internet")
	RouteNextHopType_STATUS_None                  = RouteNextHopType_STATUS("None")
	RouteNextHopType_STATUS_VirtualAppliance      = RouteNextHopType_STATUS("VirtualAppliance")
	RouteNextHopType_STATUS_VirtualNetworkGateway = RouteNextHopType_STATUS("VirtualNetworkGateway")
	RouteNextHopType_STATUS_VnetLocal             = RouteNextHopType_STATUS("VnetLocal")
)

// Mapping from string to RouteNextHopType_STATUS
var routeNextHopType_STATUS_Values = map[string]RouteNextHopType_STATUS{
	"internet":              RouteNextHopType_STATUS_Internet,
	"none":                  RouteNextHopType_STATUS_None,
	"virtualappliance":      RouteNextHopType_STATUS_VirtualAppliance,
	"virtualnetworkgateway": RouteNextHopType_STATUS_VirtualNetworkGateway,
	"vnetlocal":             RouteNextHopType_STATUS_VnetLocal,
}
