Class CfnRouteProps
Properties for defining a CfnRoute
.
Inheritance
Implements
Namespace: Amazon.CDK.AWS.AppMesh
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnRouteProps : Object, ICfnRouteProps
Syntax (vb)
Public Class CfnRouteProps
Inherits Object
Implements ICfnRouteProps
Remarks
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html
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 cfnRouteProps = new CfnRouteProps {
MeshName = "meshName",
Spec = 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
}
}
}
},
VirtualRouterName = "virtualRouterName",
// the properties below are optional
MeshOwner = "meshOwner",
RouteName = "routeName",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} }
};
Synopsis
Constructors
CfnRouteProps() |
Properties
MeshName | The name of the service mesh to create the route in. |
MeshOwner | The AWS IAM account ID of the service mesh owner. |
RouteName | The name to use for the route. |
Spec | The route specification to apply. |
Tags | Optional metadata that you can apply to the route to assist with categorization and organization. |
VirtualRouterName | The name of the virtual router in which to create the route. |
Constructors
CfnRouteProps()
public CfnRouteProps()
Properties
MeshName
The name of the service mesh to create the route in.
public string MeshName { get; set; }
Property Value
System.String
Remarks
MeshOwner
The AWS IAM account ID of the service mesh owner.
public string MeshOwner { get; set; }
Property Value
System.String
Remarks
If the account ID is not your own, then the account that you specify must share the mesh with your account before you can create the resource in the service mesh. For more information about mesh sharing, see Working with shared meshes .
RouteName
The name to use for the route.
public string RouteName { get; set; }
Property Value
System.String
Remarks
Spec
The route specification to apply.
public object Spec { get; set; }
Property Value
System.Object
Remarks
Tags
Optional metadata that you can apply to the route to assist with categorization and organization.
public ICfnTag[] Tags { get; set; }
Property Value
ICfnTag[]
Remarks
Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
VirtualRouterName
The name of the virtual router in which to create the route.
public string VirtualRouterName { get; set; }
Property Value
System.String
Remarks
If the virtual router is in a shared mesh, then you must be the owner of the virtual router resource.