Interface IRouteSpecConfig
All Properties for Route Specs.
Namespace: Amazon.CDK.AWS.AppMesh
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface IRouteSpecConfig
Syntax (vb)
Public Interface IRouteSpecConfig
Remarks
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 routeSpecConfig = new RouteSpecConfig {
GrpcRouteSpec = 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
}
}
},
Http2RouteSpec = 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
}
}
},
HttpRouteSpec = 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,
TcpRouteSpec = 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
GrpcRouteSpec | The spec for a grpc route. |
Http2RouteSpec | The spec for an http2 route. |
HttpRouteSpec | The spec for an http route. |
Priority | The priority for the route. |
TcpRouteSpec | The spec for a tcp route. |
Properties
GrpcRouteSpec
The spec for a grpc route.
virtual CfnRoute.IGrpcRouteProperty GrpcRouteSpec { get; }
Property Value
Remarks
Default: - no grpc spec
Http2RouteSpec
The spec for an http2 route.
virtual CfnRoute.IHttpRouteProperty Http2RouteSpec { get; }
Property Value
Remarks
Default: - no http2 spec
HttpRouteSpec
The spec for an http route.
virtual CfnRoute.IHttpRouteProperty HttpRouteSpec { get; }
Property Value
Remarks
Default: - no http spec
Priority
The priority for the route.
virtual Nullable<double> Priority { get; }
Property Value
System.Nullable<System.Double>
Remarks
When a Virtual Router has multiple routes, route match is performed in the order of specified value, where 0 is the highest priority, and first matched route is selected.
Default: - no particular priority
TcpRouteSpec
The spec for a tcp route.
virtual CfnRoute.ITcpRouteProperty TcpRouteSpec { get; }
Property Value
Remarks
Default: - no tcp spec