Display information of the source and destination under analysis.
The endpoint information in an intermediate state may differ with the
initial input, as it might be modified by state like NAT,
or Connection Proxy.
[[["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-12 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eStep\u003c/code\u003e class in the Network Management v1 API represents a single step within a simulated forwarding path, each with a defined state and configuration.\u003c/p\u003e\n"],["\u003cp\u003eThis documentation provides reference and code samples for the \u003ccode\u003eStep\u003c/code\u003e class, which includes various properties to describe different aspects of the step, such as \u003ccode\u003eAbort\u003c/code\u003e, \u003ccode\u003eDeliver\u003c/code\u003e, \u003ccode\u003eDrop\u003c/code\u003e, \u003ccode\u003eEndpoint\u003c/code\u003e, and more.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of the \u003ccode\u003eStep\u003c/code\u003e class is 2.13.0, and the documentation lists all the previous versions, starting from 2.12.0 all the way back to 1.0.0.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eStep\u003c/code\u003e can implement multiple interfaces such as \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, and \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and includes constructors for creating new instances and copying from existing ones.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eStep\u003c/code\u003e class contains a property called \u003ccode\u003eState\u003c/code\u003e, that can be used to indicate what predefined state that individual step is in.\u003c/p\u003e\n"]]],[],null,["# Network Management v1 API - Class Step (2.15.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.15.0 (latest)](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/latest/Google.Cloud.NetworkManagement.V1.Step)\n- [2.14.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/2.14.0/Google.Cloud.NetworkManagement.V1.Step)\n- [2.13.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/2.13.0/Google.Cloud.NetworkManagement.V1.Step)\n- [2.12.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/2.12.0/Google.Cloud.NetworkManagement.V1.Step)\n- [2.11.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/2.11.0/Google.Cloud.NetworkManagement.V1.Step)\n- [2.10.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/2.10.0/Google.Cloud.NetworkManagement.V1.Step)\n- [2.9.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/2.9.0/Google.Cloud.NetworkManagement.V1.Step)\n- [2.8.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/2.8.0/Google.Cloud.NetworkManagement.V1.Step)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/2.7.0/Google.Cloud.NetworkManagement.V1.Step)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/2.6.0/Google.Cloud.NetworkManagement.V1.Step)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/2.5.0/Google.Cloud.NetworkManagement.V1.Step)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/2.4.0/Google.Cloud.NetworkManagement.V1.Step)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/2.3.0/Google.Cloud.NetworkManagement.V1.Step)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/2.2.0/Google.Cloud.NetworkManagement.V1.Step)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/2.1.0/Google.Cloud.NetworkManagement.V1.Step)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/2.0.0/Google.Cloud.NetworkManagement.V1.Step)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/1.1.0/Google.Cloud.NetworkManagement.V1.Step)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/1.0.0/Google.Cloud.NetworkManagement.V1.Step) \n\n public sealed class Step : IMessage\u003cStep\u003e, IEquatable\u003cStep\u003e, IDeepCloneable\u003cStep\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Network Management v1 API class Step.\n\nA simulated forwarding path is composed of multiple steps.\nEach step has a well-defined state and an associated configuration. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Step \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Step](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/latest/Google.Cloud.NetworkManagement.V1.Step), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Step](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/latest/Google.Cloud.NetworkManagement.V1.Step), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Step](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/latest/Google.Cloud.NetworkManagement.V1.Step), [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.NetworkManagement.V1](/dotnet/docs/reference/Google.Cloud.NetworkManagement.V1/latest/Google.Cloud.NetworkManagement.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.NetworkManagement.V1.dll\n\nConstructors\n------------\n\n### Step()\n\n public Step()\n\n### Step(Step)\n\n public Step(Step other)\n\nProperties\n----------\n\n### Abort\n\n public AbortInfo Abort { get; set; }\n\nDisplay information of the final state \"abort\" and reason.\n\n### AppEngineVersion\n\n public AppEngineVersionInfo AppEngineVersion { get; set; }\n\nDisplay information of an App Engine service version.\n\n### CausesDrop\n\n public bool CausesDrop { get; set; }\n\nThis is a step that leads to the final state Drop.\n\n### CloudFunction\n\n public CloudFunctionInfo CloudFunction { get; set; }\n\nDisplay information of a Cloud Function.\n\n### CloudRunRevision\n\n public CloudRunRevisionInfo CloudRunRevision { get; set; }\n\nDisplay information of a Cloud Run revision.\n\n### CloudSqlInstance\n\n public CloudSQLInstanceInfo CloudSqlInstance { get; set; }\n\nDisplay information of a Cloud SQL instance.\n\n### Deliver\n\n public DeliverInfo Deliver { get; set; }\n\nDisplay information of the final state \"deliver\" and reason.\n\n### Description\n\n public string Description { get; set; }\n\nA description of the step. Usually this is a summary of the state.\n\n### DirectVpcEgressConnection\n\n public DirectVpcEgressConnectionInfo DirectVpcEgressConnection { get; set; }\n\nDisplay information of a serverless direct VPC egress connection.\n\n### Drop\n\n public DropInfo Drop { get; set; }\n\nDisplay information of the final state \"drop\" and reason.\n\n### Endpoint\n\n public EndpointInfo Endpoint { get; set; }\n\nDisplay information of the source and destination under analysis.\nThe endpoint information in an intermediate state may differ with the\ninitial input, as it might be modified by state like NAT,\nor Connection Proxy.\n\n### Firewall\n\n public FirewallInfo Firewall { get; set; }\n\nDisplay information of a Compute Engine firewall rule.\n\n### Forward\n\n public ForwardInfo Forward { get; set; }\n\nDisplay information of the final state \"forward\" and reason.\n\n### ForwardingRule\n\n public ForwardingRuleInfo ForwardingRule { get; set; }\n\nDisplay information of a Compute Engine forwarding rule.\n\n### GkeMaster\n\n public GKEMasterInfo GkeMaster { get; set; }\n\nDisplay information of a Google Kubernetes Engine cluster master.\n\n### GoogleService\n\n public GoogleServiceInfo GoogleService { get; set; }\n\nDisplay information of a Google service\n\n### Instance\n\n public InstanceInfo Instance { get; set; }\n\nDisplay information of a Compute Engine instance.\n\n### LoadBalancer\n\n [Obsolete]\n public LoadBalancerInfo LoadBalancer { get; set; }\n\nDisplay information of the load balancers. Deprecated in favor of the\n`load_balancer_backend_info` field, not used in new tests.\n\n### LoadBalancerBackendInfo\n\n public LoadBalancerBackendInfo LoadBalancerBackendInfo { get; set; }\n\nDisplay information of a specific load balancer backend.\n\n### Nat\n\n public NatInfo Nat { get; set; }\n\nDisplay information of a NAT.\n\n### Network\n\n public NetworkInfo Network { get; set; }\n\nDisplay information of a Google Cloud network.\n\n### ProjectId\n\n public string ProjectId { get; set; }\n\nProject ID that contains the configuration this step is validating.\n\n### ProxyConnection\n\n public ProxyConnectionInfo ProxyConnection { get; set; }\n\nDisplay information of a ProxyConnection.\n\n### RedisCluster\n\n public RedisClusterInfo RedisCluster { get; set; }\n\nDisplay information of a Redis Cluster.\n\n### RedisInstance\n\n public RedisInstanceInfo RedisInstance { get; set; }\n\nDisplay information of a Redis Instance.\n\n### Route\n\n public RouteInfo Route { get; set; }\n\nDisplay information of a Compute Engine route.\n\n### ServerlessExternalConnection\n\n public ServerlessExternalConnectionInfo ServerlessExternalConnection { get; set; }\n\nDisplay information of a serverless public (external) connection.\n\n### ServerlessNeg\n\n public ServerlessNegInfo ServerlessNeg { get; set; }\n\nDisplay information of a Serverless network endpoint group backend. Used\nonly for return traces.\n\n### State\n\n public Step.Types.State State { get; set; }\n\nEach step is in one of the pre-defined states.\n\n### StepInfoCase\n\n public Step.StepInfoOneofCase StepInfoCase { get; }\n\n### StorageBucket\n\n public StorageBucketInfo StorageBucket { get; set; }\n\nDisplay information of a Storage Bucket. Used only for return traces.\n\n### VpcConnector\n\n public VpcConnectorInfo VpcConnector { get; set; }\n\nDisplay information of a VPC connector.\n\n### VpnGateway\n\n public VpnGatewayInfo VpnGateway { get; set; }\n\nDisplay information of a Compute Engine VPN gateway.\n\n### VpnTunnel\n\n public VpnTunnelInfo VpnTunnel { get; set; }\n\nDisplay information of a Compute Engine VPN tunnel."]]