Interface CfnRoute.IRouteSpecProperty
An object that represents a route specification.
Namespace: Amazon.CDK.AWS.AppMesh
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface IRouteSpecProperty
Syntax (vb)
Public Interface IRouteSpecProperty
Remarks
Specify one route type.
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.AppMesh;
var routeSpecProperty = new RouteSpecProperty {
GrpcRoute = new GrpcRouteProperty {
Action = new GrpcRouteActionProperty {
WeightedTargets = new [] { new WeightedTargetProperty {
VirtualNode = "virtualNode",
Weight = 123,
// the properties below are optional
Port = 123
} }
},
Match = new GrpcRouteMatchProperty {
Metadata = new [] { new GrpcRouteMetadataProperty {
Name = "name",
// the properties below are optional
Invert = false,
Match = new GrpcRouteMetadataMatchMethodProperty {
Exact = "exact",
Prefix = "prefix",
Range = new MatchRangeProperty {
End = 123,
Start = 123
},
Regex = "regex",
Suffix = "suffix"
}
} },
MethodName = "methodName",
Port = 123,
ServiceName = "serviceName"
},
// the properties below are optional
RetryPolicy = new GrpcRetryPolicyProperty {
MaxRetries = 123,
PerRetryTimeout = new DurationProperty {
Unit = "unit",
Value = 123
},
// the properties below are optional
GrpcRetryEvents = new [] { "grpcRetryEvents" },
HttpRetryEvents = new [] { "httpRetryEvents" },
TcpRetryEvents = new [] { "tcpRetryEvents" }
},
Timeout = new GrpcTimeoutProperty {
Idle = new DurationProperty {
Unit = "unit",
Value = 123
},
PerRequest = new DurationProperty {
Unit = "unit",
Value = 123
}
}
},
Http2Route = new HttpRouteProperty {
Action = new HttpRouteActionProperty {
WeightedTargets = new [] { new WeightedTargetProperty {
VirtualNode = "virtualNode",
Weight = 123,
// the properties below are optional
Port = 123
} }
},
Match = new HttpRouteMatchProperty {
Headers = new [] { new HttpRouteHeaderProperty {
Name = "name",
// the properties below are optional
Invert = false,
Match = new HeaderMatchMethodProperty {
Exact = "exact",
Prefix = "prefix",
Range = new MatchRangeProperty {
End = 123,
Start = 123
},
Regex = "regex",
Suffix = "suffix"
}
} },
Method = "method",
Path = new HttpPathMatchProperty {
Exact = "exact",
Regex = "regex"
},
Port = 123,
Prefix = "prefix",
QueryParameters = new [] { new QueryParameterProperty {
Name = "name",
// the properties below are optional
Match = new HttpQueryParameterMatchProperty {
Exact = "exact"
}
} },
Scheme = "scheme"
},
// the properties below are optional
RetryPolicy = new HttpRetryPolicyProperty {
MaxRetries = 123,
PerRetryTimeout = new DurationProperty {
Unit = "unit",
Value = 123
},
// the properties below are optional
HttpRetryEvents = new [] { "httpRetryEvents" },
TcpRetryEvents = new [] { "tcpRetryEvents" }
},
Timeout = new HttpTimeoutProperty {
Idle = new DurationProperty {
Unit = "unit",
Value = 123
},
PerRequest = new DurationProperty {
Unit = "unit",
Value = 123
}
}
},
HttpRoute = new HttpRouteProperty {
Action = new HttpRouteActionProperty {
WeightedTargets = new [] { new WeightedTargetProperty {
VirtualNode = "virtualNode",
Weight = 123,
// the properties below are optional
Port = 123
} }
},
Match = new HttpRouteMatchProperty {
Headers = new [] { new HttpRouteHeaderProperty {
Name = "name",
// the properties below are optional
Invert = false,
Match = new HeaderMatchMethodProperty {
Exact = "exact",
Prefix = "prefix",
Range = new MatchRangeProperty {
End = 123,
Start = 123
},
Regex = "regex",
Suffix = "suffix"
}
} },
Method = "method",
Path = new HttpPathMatchProperty {
Exact = "exact",
Regex = "regex"
},
Port = 123,
Prefix = "prefix",
QueryParameters = new [] { new QueryParameterProperty {
Name = "name",
// the properties below are optional
Match = new HttpQueryParameterMatchProperty {
Exact = "exact"
}
} },
Scheme = "scheme"
},
// the properties below are optional
RetryPolicy = new HttpRetryPolicyProperty {
MaxRetries = 123,
PerRetryTimeout = new DurationProperty {
Unit = "unit",
Value = 123
},
// the properties below are optional
HttpRetryEvents = new [] { "httpRetryEvents" },
TcpRetryEvents = new [] { "tcpRetryEvents" }
},
Timeout = new HttpTimeoutProperty {
Idle = new DurationProperty {
Unit = "unit",
Value = 123
},
PerRequest = new DurationProperty {
Unit = "unit",
Value = 123
}
}
},
Priority = 123,
TcpRoute = new TcpRouteProperty {
Action = new TcpRouteActionProperty {
WeightedTargets = new [] { new WeightedTargetProperty {
VirtualNode = "virtualNode",
Weight = 123,
// the properties below are optional
Port = 123
} }
},
// the properties below are optional
Match = new TcpRouteMatchProperty {
Port = 123
},
Timeout = new TcpTimeoutProperty {
Idle = new DurationProperty {
Unit = "unit",
Value = 123
}
}
}
};
Synopsis
Properties
GrpcRoute | An object that represents the specification of a gRPC route. |
Http2Route | An object that represents the specification of an HTTP/2 route. |
HttpRoute | An object that represents the specification of an HTTP route. |
Priority | The priority for the route. |
TcpRoute | An object that represents the specification of a TCP route. |
Properties
GrpcRoute
An object that represents the specification of a gRPC route.
virtual object GrpcRoute { get; }
Property Value
System.Object
Remarks
Http2Route
An object that represents the specification of an HTTP/2 route.
virtual object Http2Route { get; }
Property Value
System.Object
Remarks
HttpRoute
An object that represents the specification of an HTTP route.
virtual object HttpRoute { get; }
Property Value
System.Object
Remarks
Priority
The priority for the route.
virtual Nullable<double> Priority { get; }
Property Value
System.Nullable<System.Double>
Remarks
Routes are matched based on the specified value, where 0 is the highest priority.
TcpRoute
An object that represents the specification of a TCP route.
virtual object TcpRoute { get; }
Property Value
System.Object