public RepeatedField<TlsRoute.Types.RouteRule> Rules { get; }
Required. Rules that define how traffic is routed and handled. At least one
RouteRule must be supplied. If there are multiple rules then the action
taken will be the first rule to match.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eTlsRoute\u003c/code\u003e class in the Network Services v1 API defines how TLS traffic is routed based on SNI and other L3 attributes.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eTlsRoute\u003c/code\u003e can be attached to multiple gateways or meshes, specifying how requests served by these entities should be routed.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eRules\u003c/code\u003e property is essential for defining traffic routing and handling, requiring at least one \u003ccode\u003eRouteRule\u003c/code\u003e and implementing a first-match logic if multiple rules are set.\u003c/p\u003e\n"],["\u003cp\u003eThe resource includes properties for management, such as \u003ccode\u003eCreateTime\u003c/code\u003e, \u003ccode\u003eUpdateTime\u003c/code\u003e, \u003ccode\u003eDescription\u003c/code\u003e, \u003ccode\u003eName\u003c/code\u003e, and \u003ccode\u003eSelfLink\u003c/code\u003e, providing details on its lifecycle and metadata.\u003c/p\u003e\n"],["\u003cp\u003eThere are specific \u003ccode\u003eTlsRoute\u003c/code\u003e constructors and it inherits multiple interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Network Services v1 API - Class TlsRoute (1.3.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.3.0 (latest)](/dotnet/docs/reference/Google.Cloud.NetworkServices.V1/latest/Google.Cloud.NetworkServices.V1.TlsRoute)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.NetworkServices.V1/1.2.0/Google.Cloud.NetworkServices.V1.TlsRoute)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.NetworkServices.V1/1.1.0/Google.Cloud.NetworkServices.V1.TlsRoute)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.NetworkServices.V1/1.0.0/Google.Cloud.NetworkServices.V1.TlsRoute) \n\n public sealed class TlsRoute : IMessage\u003cTlsRoute\u003e, IEquatable\u003cTlsRoute\u003e, IDeepCloneable\u003cTlsRoute\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Network Services v1 API class TlsRoute.\n\nTlsRoute defines how traffic should be routed based on SNI and other matching\nL3 attributes. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e TlsRoute \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[TlsRoute](/dotnet/docs/reference/Google.Cloud.NetworkServices.V1/latest/Google.Cloud.NetworkServices.V1.TlsRoute), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[TlsRoute](/dotnet/docs/reference/Google.Cloud.NetworkServices.V1/latest/Google.Cloud.NetworkServices.V1.TlsRoute), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[TlsRoute](/dotnet/docs/reference/Google.Cloud.NetworkServices.V1/latest/Google.Cloud.NetworkServices.V1.TlsRoute), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.NetworkServices.V1](/dotnet/docs/reference/Google.Cloud.NetworkServices.V1/latest/Google.Cloud.NetworkServices.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.NetworkServices.V1.dll\n\nConstructors\n------------\n\n### TlsRoute()\n\n public TlsRoute()\n\n### TlsRoute(TlsRoute)\n\n public TlsRoute(TlsRoute other)\n\nProperties\n----------\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nOutput only. The timestamp when the resource was created.\n\n### Description\n\n public string Description { get; set; }\n\nOptional. A free-text description of the resource. Max length 1024\ncharacters.\n\n### Gateways\n\n public RepeatedField\u003cstring\u003e Gateways { get; }\n\nOptional. Gateways defines a list of gateways this TlsRoute is attached to,\nas one of the routing rules to route the requests served by the gateway.\n\nEach gateway reference should match the pattern:\n`projects/*/locations/global/gateways/\u003cgateway_name\u003e`\n\n### GatewaysAsGatewayNames\n\n public ResourceNameList\u003cGatewayName\u003e GatewaysAsGatewayNames { get; }\n\n[GatewayName](/dotnet/docs/reference/Google.Cloud.NetworkServices.V1/latest/Google.Cloud.NetworkServices.V1.GatewayName)-typed view over the [Gateways](/dotnet/docs/reference/Google.Cloud.NetworkServices.V1/latest/Google.Cloud.NetworkServices.V1.TlsRoute#Google_Cloud_NetworkServices_V1_TlsRoute_Gateways) resource name property.\n\n### Labels\n\n public MapField\u003cstring, string\u003e Labels { get; }\n\nOptional. Set of label tags associated with the TlsRoute resource.\n\n### Meshes\n\n public RepeatedField\u003cstring\u003e Meshes { get; }\n\nOptional. Meshes defines a list of meshes this TlsRoute is attached to, as\none of the routing rules to route the requests served by the mesh.\n\nEach mesh reference should match the pattern:\n`projects/*/locations/global/meshes/\u003cmesh_name\u003e`\n\nThe attached Mesh should be of a type SIDECAR\n\n### MeshesAsMeshNames\n\n public ResourceNameList\u003cMeshName\u003e MeshesAsMeshNames { get; }\n\n[MeshName](/dotnet/docs/reference/Google.Cloud.NetworkServices.V1/latest/Google.Cloud.NetworkServices.V1.MeshName)-typed view over the [Meshes](/dotnet/docs/reference/Google.Cloud.NetworkServices.V1/latest/Google.Cloud.NetworkServices.V1.TlsRoute#Google_Cloud_NetworkServices_V1_TlsRoute_Meshes) resource name property.\n\n### Name\n\n public string Name { get; set; }\n\nIdentifier. Name of the TlsRoute resource. It matches pattern\n`projects/*/locations/global/tlsRoutes/tls_route_name\u003e`.\n\n### Rules\n\n public RepeatedField\u003cTlsRoute.Types.RouteRule\u003e Rules { get; }\n\nRequired. Rules that define how traffic is routed and handled. At least one\nRouteRule must be supplied. If there are multiple rules then the action\ntaken will be the first rule to match.\n\n### SelfLink\n\n public string SelfLink { get; set; }\n\nOutput only. Server-defined URL of this resource\n\n### TlsRouteName\n\n public TlsRouteName TlsRouteName { get; set; }\n\n[TlsRouteName](/dotnet/docs/reference/Google.Cloud.NetworkServices.V1/latest/Google.Cloud.NetworkServices.V1.TlsRouteName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.NetworkServices.V1/latest/Google.Cloud.NetworkServices.V1.TlsRoute#Google_Cloud_NetworkServices_V1_TlsRoute_Name) resource name property.\n\n### UpdateTime\n\n public Timestamp UpdateTime { get; set; }\n\nOutput only. The timestamp when the resource was updated."]]