diff --git a/templates/meshmodel/components/v1.12.5/virtualrouter.APP_MESH.meshery.layer5.io_meshmodel.json b/templates/meshmodel/components/v1.12.5/virtualrouter.APP_MESH.meshery.layer5.io_meshmodel.json index 1ca177c..77f0187 100644 --- a/templates/meshmodel/components/v1.12.5/virtualrouter.APP_MESH.meshery.layer5.io_meshmodel.json +++ b/templates/meshmodel/components/v1.12.5/virtualrouter.APP_MESH.meshery.layer5.io_meshmodel.json @@ -1 +1 @@ -{"kind":"VirtualRouter","apiVersion":"appmesh.k8s.aws/v1beta2","displayName":"Virtual Router","format":"JSON","metadata":{},"model":{"name":"app_mesh","version":"v1.12.5","displayName":"APP_MESH","category":{"name":"Orchestration \u0026 Management","metadata":null},"metadata":null},"schema":"{\n \"description\": \"VirtualRouter is the Schema for the virtualrouters API\",\n \"properties\": {\n \"apiVersion\": {\n \"description\": \"APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources\",\n \"type\": \"string\"\n },\n \"kind\": {\n \"description\": \"Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds\",\n \"type\": \"string\"\n },\n \"metadata\": {\n \"type\": \"object\"\n },\n \"spec\": {\n \"description\": \"VirtualRouterSpec defines the desired state of VirtualRouter refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_VirtualRouterSpec.html\",\n \"properties\": {\n \"awsName\": {\n \"description\": \"AWSName is the AppMesh VirtualRouter object's name. If unspecified or empty, it defaults to be \\\"${name}_${namespace}\\\" of k8s VirtualRouter\",\n \"type\": \"string\"\n },\n \"listeners\": {\n \"description\": \"The listeners that the virtual router is expected to receive inbound traffic from\",\n \"items\": {\n \"description\": \"VirtualRouterListener refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_VirtualRouterListener.html\",\n \"properties\": {\n \"portMapping\": {\n \"description\": \"The port mapping information for the listener.\",\n \"properties\": {\n \"port\": {\n \"description\": \"The port used for the port mapping.\",\n \"format\": \"int64\",\n \"maximum\": 65535,\n \"minimum\": 1,\n \"type\": \"integer\"\n },\n \"protocol\": {\n \"description\": \"The protocol used for the port mapping.\",\n \"enum\": [\n \"grpc\",\n \"http\",\n \"http2\",\n \"tcp\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"port\",\n \"protocol\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"portMapping\"\n ],\n \"type\": \"object\"\n },\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"meshRef\": {\n \"description\": \"A reference to k8s Mesh CR that this VirtualRouter belongs to. The admission controller populates it using Meshes's selector, and prevents users from setting this field. \\n Populated by the system. Read-only.\",\n \"properties\": {\n \"name\": {\n \"description\": \"Name is the name of Mesh CR\",\n \"type\": \"string\"\n },\n \"uid\": {\n \"description\": \"UID is the UID of Mesh CR\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"uid\"\n ],\n \"type\": \"object\"\n },\n \"routes\": {\n \"description\": \"The routes associated with VirtualRouter\",\n \"items\": {\n \"description\": \"Route refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_RouteSpec.html\",\n \"properties\": {\n \"grpcRoute\": {\n \"description\": \"An object that represents the specification of a gRPC route.\",\n \"properties\": {\n \"action\": {\n \"description\": \"An object that represents the action to take if a match is determined.\",\n \"properties\": {\n \"weightedTargets\": {\n \"description\": \"An object that represents the targets that traffic is routed to when a request matches the route.\",\n \"items\": {\n \"description\": \"WeightedTarget refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_WeightedTarget.html\",\n \"properties\": {\n \"port\": {\n \"description\": \"Specifies the targeted port of the weighted object\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"virtualNodeARN\": {\n \"description\": \"Amazon Resource Name to AppMesh VirtualNode object to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"type\": \"string\"\n },\n \"virtualNodeRef\": {\n \"description\": \"Reference to Kubernetes VirtualNode CR in cluster to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"properties\": {\n \"name\": {\n \"description\": \"Name is the name of VirtualNode CR\",\n \"type\": \"string\"\n },\n \"namespace\": {\n \"description\": \"Namespace is the namespace of VirtualNode CR. If unspecified, defaults to the referencing object's namespace\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"weight\": {\n \"description\": \"The relative weight of the weighted target.\",\n \"format\": \"int64\",\n \"maximum\": 100,\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"weight\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"weightedTargets\"\n ],\n \"type\": \"object\"\n },\n \"match\": {\n \"description\": \"An object that represents the criteria for determining a request match.\",\n \"properties\": {\n \"metadata\": {\n \"description\": \"An object that represents the data to match from the request.\",\n \"items\": {\n \"description\": \"GRPCRouteMetadata refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_GrpcRouteMetadata.html\",\n \"properties\": {\n \"invert\": {\n \"description\": \"Specify True to match anything except the match criteria. The default value is False.\",\n \"type\": \"boolean\"\n },\n \"match\": {\n \"description\": \"An object that represents the data to match from the request.\",\n \"properties\": {\n \"exact\": {\n \"description\": \"The value sent by the client must match the specified value exactly.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"prefix\": {\n \"description\": \"The value sent by the client must begin with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"range\": {\n \"description\": \"An object that represents the range of values to match on\",\n \"properties\": {\n \"end\": {\n \"description\": \"The end of the range.\",\n \"format\": \"int64\",\n \"type\": \"integer\"\n },\n \"start\": {\n \"description\": \"The start of the range.\",\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"end\",\n \"start\"\n ],\n \"type\": \"object\"\n },\n \"regex\": {\n \"description\": \"The value sent by the client must include the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"suffix\": {\n \"description\": \"The value sent by the client must end with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"name\": {\n \"description\": \"The name of the route.\",\n \"maxLength\": 50,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"methodName\": {\n \"description\": \"The method name to match from the request. If you specify a name, you must also specify a serviceName.\",\n \"maxLength\": 50,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"port\": {\n \"description\": \"Specifies the port to match requests with\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"serviceName\": {\n \"description\": \"The fully qualified domain name for the service to match from the request.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"retryPolicy\": {\n \"description\": \"An object that represents a retry policy.\",\n \"properties\": {\n \"grpcRetryEvents\": {\n \"items\": {\n \"enum\": [\n \"cancelled\",\n \"deadline-exceeded\",\n \"internal\",\n \"resource-exhausted\",\n \"unavailable\"\n ],\n \"type\": \"string\"\n },\n \"maxItems\": 5,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"httpRetryEvents\": {\n \"items\": {\n \"enum\": [\n \"server-error\",\n \"gateway-error\",\n \"client-error\",\n \"stream-error\"\n ],\n \"type\": \"string\"\n },\n \"maxItems\": 25,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"maxRetries\": {\n \"description\": \"The maximum number of retry attempts.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"perRetryTimeout\": {\n \"description\": \"An object that represents a duration of time.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"tcpRetryEvents\": {\n \"items\": {\n \"enum\": [\n \"connection-error\"\n ],\n \"type\": \"string\"\n },\n \"maxItems\": 1,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"maxRetries\",\n \"perRetryTimeout\"\n ],\n \"type\": \"object\"\n },\n \"timeout\": {\n \"description\": \"An object that represents a grpc timeout.\",\n \"properties\": {\n \"idle\": {\n \"description\": \"An object that represents idle timeout duration.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"perRequest\": {\n \"description\": \"An object that represents per request timeout duration.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"action\",\n \"match\"\n ],\n \"type\": \"object\"\n },\n \"http2Route\": {\n \"description\": \"An object that represents the specification of an HTTP/2 route.\",\n \"properties\": {\n \"action\": {\n \"description\": \"An object that represents the action to take if a match is determined.\",\n \"properties\": {\n \"weightedTargets\": {\n \"description\": \"An object that represents the targets that traffic is routed to when a request matches the route.\",\n \"items\": {\n \"description\": \"WeightedTarget refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_WeightedTarget.html\",\n \"properties\": {\n \"port\": {\n \"description\": \"Specifies the targeted port of the weighted object\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"virtualNodeARN\": {\n \"description\": \"Amazon Resource Name to AppMesh VirtualNode object to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"type\": \"string\"\n },\n \"virtualNodeRef\": {\n \"description\": \"Reference to Kubernetes VirtualNode CR in cluster to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"properties\": {\n \"name\": {\n \"description\": \"Name is the name of VirtualNode CR\",\n \"type\": \"string\"\n },\n \"namespace\": {\n \"description\": \"Namespace is the namespace of VirtualNode CR. If unspecified, defaults to the referencing object's namespace\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"weight\": {\n \"description\": \"The relative weight of the weighted target.\",\n \"format\": \"int64\",\n \"maximum\": 100,\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"weight\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"weightedTargets\"\n ],\n \"type\": \"object\"\n },\n \"match\": {\n \"description\": \"An object that represents the criteria for determining a request match.\",\n \"properties\": {\n \"headers\": {\n \"description\": \"An object that represents the client request headers to match on.\",\n \"items\": {\n \"description\": \"HTTPRouteHeader refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_HttpRouteHeader.html\",\n \"properties\": {\n \"invert\": {\n \"description\": \"Specify True to match anything except the match criteria. The default value is False.\",\n \"type\": \"boolean\"\n },\n \"match\": {\n \"description\": \"The HeaderMatchMethod object.\",\n \"properties\": {\n \"exact\": {\n \"description\": \"The value sent by the client must match the specified value exactly.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"prefix\": {\n \"description\": \"The value sent by the client must begin with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"range\": {\n \"description\": \"An object that represents the range of values to match on.\",\n \"properties\": {\n \"end\": {\n \"description\": \"The end of the range.\",\n \"format\": \"int64\",\n \"type\": \"integer\"\n },\n \"start\": {\n \"description\": \"The start of the range.\",\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"end\",\n \"start\"\n ],\n \"type\": \"object\"\n },\n \"regex\": {\n \"description\": \"The value sent by the client must include the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"suffix\": {\n \"description\": \"The value sent by the client must end with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"name\": {\n \"description\": \"A name for the HTTP header in the client request that will be matched on.\",\n \"maxLength\": 50,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"method\": {\n \"description\": \"The client request method to match on.\",\n \"enum\": [\n \"CONNECT\",\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n \"TRACE\"\n ],\n \"type\": \"string\"\n },\n \"path\": {\n \"description\": \"The client specified Path to match on.\",\n \"properties\": {\n \"exact\": {\n \"description\": \"The value sent by the client must match the specified value exactly.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"regex\": {\n \"description\": \"The value sent by the client must end with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"port\": {\n \"description\": \"Specifies the port to match requests with\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"prefix\": {\n \"description\": \"Specifies the prefix to match requests with\",\n \"type\": \"string\"\n },\n \"queryParameters\": {\n \"description\": \"The client specified queryParameters to match on\",\n \"items\": {\n \"description\": \"HTTPQueryParameters refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_HttpQueryParameter.html\",\n \"properties\": {\n \"match\": {\n \"description\": \"The QueryMatchMethod object.\",\n \"properties\": {\n \"exact\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"scheme\": {\n \"description\": \"The client request scheme to match on\",\n \"enum\": [\n \"http\",\n \"https\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"retryPolicy\": {\n \"description\": \"An object that represents a retry policy.\",\n \"properties\": {\n \"httpRetryEvents\": {\n \"items\": {\n \"enum\": [\n \"server-error\",\n \"gateway-error\",\n \"client-error\",\n \"stream-error\"\n ],\n \"type\": \"string\"\n },\n \"maxItems\": 25,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"maxRetries\": {\n \"description\": \"The maximum number of retry attempts.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"perRetryTimeout\": {\n \"description\": \"An object that represents a duration of time\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"tcpRetryEvents\": {\n \"items\": {\n \"enum\": [\n \"connection-error\"\n ],\n \"type\": \"string\"\n },\n \"maxItems\": 1,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"maxRetries\",\n \"perRetryTimeout\"\n ],\n \"type\": \"object\"\n },\n \"timeout\": {\n \"description\": \"An object that represents a http timeout.\",\n \"properties\": {\n \"idle\": {\n \"description\": \"An object that represents idle timeout duration.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"perRequest\": {\n \"description\": \"An object that represents per request timeout duration.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"action\",\n \"match\"\n ],\n \"type\": \"object\"\n },\n \"httpRoute\": {\n \"description\": \"An object that represents the specification of an HTTP route.\",\n \"properties\": {\n \"action\": {\n \"description\": \"An object that represents the action to take if a match is determined.\",\n \"properties\": {\n \"weightedTargets\": {\n \"description\": \"An object that represents the targets that traffic is routed to when a request matches the route.\",\n \"items\": {\n \"description\": \"WeightedTarget refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_WeightedTarget.html\",\n \"properties\": {\n \"port\": {\n \"description\": \"Specifies the targeted port of the weighted object\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"virtualNodeARN\": {\n \"description\": \"Amazon Resource Name to AppMesh VirtualNode object to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"type\": \"string\"\n },\n \"virtualNodeRef\": {\n \"description\": \"Reference to Kubernetes VirtualNode CR in cluster to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"properties\": {\n \"name\": {\n \"description\": \"Name is the name of VirtualNode CR\",\n \"type\": \"string\"\n },\n \"namespace\": {\n \"description\": \"Namespace is the namespace of VirtualNode CR. If unspecified, defaults to the referencing object's namespace\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"weight\": {\n \"description\": \"The relative weight of the weighted target.\",\n \"format\": \"int64\",\n \"maximum\": 100,\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"weight\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"weightedTargets\"\n ],\n \"type\": \"object\"\n },\n \"match\": {\n \"description\": \"An object that represents the criteria for determining a request match.\",\n \"properties\": {\n \"headers\": {\n \"description\": \"An object that represents the client request headers to match on.\",\n \"items\": {\n \"description\": \"HTTPRouteHeader refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_HttpRouteHeader.html\",\n \"properties\": {\n \"invert\": {\n \"description\": \"Specify True to match anything except the match criteria. The default value is False.\",\n \"type\": \"boolean\"\n },\n \"match\": {\n \"description\": \"The HeaderMatchMethod object.\",\n \"properties\": {\n \"exact\": {\n \"description\": \"The value sent by the client must match the specified value exactly.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"prefix\": {\n \"description\": \"The value sent by the client must begin with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"range\": {\n \"description\": \"An object that represents the range of values to match on.\",\n \"properties\": {\n \"end\": {\n \"description\": \"The end of the range.\",\n \"format\": \"int64\",\n \"type\": \"integer\"\n },\n \"start\": {\n \"description\": \"The start of the range.\",\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"end\",\n \"start\"\n ],\n \"type\": \"object\"\n },\n \"regex\": {\n \"description\": \"The value sent by the client must include the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"suffix\": {\n \"description\": \"The value sent by the client must end with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"name\": {\n \"description\": \"A name for the HTTP header in the client request that will be matched on.\",\n \"maxLength\": 50,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"method\": {\n \"description\": \"The client request method to match on.\",\n \"enum\": [\n \"CONNECT\",\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n \"TRACE\"\n ],\n \"type\": \"string\"\n },\n \"path\": {\n \"description\": \"The client specified Path to match on.\",\n \"properties\": {\n \"exact\": {\n \"description\": \"The value sent by the client must match the specified value exactly.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"regex\": {\n \"description\": \"The value sent by the client must end with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"port\": {\n \"description\": \"Specifies the port to match requests with\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"prefix\": {\n \"description\": \"Specifies the prefix to match requests with\",\n \"type\": \"string\"\n },\n \"queryParameters\": {\n \"description\": \"The client specified queryParameters to match on\",\n \"items\": {\n \"description\": \"HTTPQueryParameters refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_HttpQueryParameter.html\",\n \"properties\": {\n \"match\": {\n \"description\": \"The QueryMatchMethod object.\",\n \"properties\": {\n \"exact\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"scheme\": {\n \"description\": \"The client request scheme to match on\",\n \"enum\": [\n \"http\",\n \"https\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"retryPolicy\": {\n \"description\": \"An object that represents a retry policy.\",\n \"properties\": {\n \"httpRetryEvents\": {\n \"items\": {\n \"enum\": [\n \"server-error\",\n \"gateway-error\",\n \"client-error\",\n \"stream-error\"\n ],\n \"type\": \"string\"\n },\n \"maxItems\": 25,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"maxRetries\": {\n \"description\": \"The maximum number of retry attempts.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"perRetryTimeout\": {\n \"description\": \"An object that represents a duration of time\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"tcpRetryEvents\": {\n \"items\": {\n \"enum\": [\n \"connection-error\"\n ],\n \"type\": \"string\"\n },\n \"maxItems\": 1,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"maxRetries\",\n \"perRetryTimeout\"\n ],\n \"type\": \"object\"\n },\n \"timeout\": {\n \"description\": \"An object that represents a http timeout.\",\n \"properties\": {\n \"idle\": {\n \"description\": \"An object that represents idle timeout duration.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"perRequest\": {\n \"description\": \"An object that represents per request timeout duration.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"action\",\n \"match\"\n ],\n \"type\": \"object\"\n },\n \"name\": {\n \"description\": \"Route's name\",\n \"type\": \"string\"\n },\n \"priority\": {\n \"description\": \"The priority for the route.\",\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"tcpRoute\": {\n \"description\": \"An object that represents the specification of a TCP route.\",\n \"properties\": {\n \"action\": {\n \"description\": \"The action to take if a match is determined.\",\n \"properties\": {\n \"weightedTargets\": {\n \"description\": \"An object that represents the targets that traffic is routed to when a request matches the route.\",\n \"items\": {\n \"description\": \"WeightedTarget refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_WeightedTarget.html\",\n \"properties\": {\n \"port\": {\n \"description\": \"Specifies the targeted port of the weighted object\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"virtualNodeARN\": {\n \"description\": \"Amazon Resource Name to AppMesh VirtualNode object to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"type\": \"string\"\n },\n \"virtualNodeRef\": {\n \"description\": \"Reference to Kubernetes VirtualNode CR in cluster to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"properties\": {\n \"name\": {\n \"description\": \"Name is the name of VirtualNode CR\",\n \"type\": \"string\"\n },\n \"namespace\": {\n \"description\": \"Namespace is the namespace of VirtualNode CR. If unspecified, defaults to the referencing object's namespace\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"weight\": {\n \"description\": \"The relative weight of the weighted target.\",\n \"format\": \"int64\",\n \"maximum\": 100,\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"weight\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"weightedTargets\"\n ],\n \"type\": \"object\"\n },\n \"match\": {\n \"description\": \"An object that represents the criteria for determining a request match.\",\n \"properties\": {\n \"port\": {\n \"description\": \"Specifies the port to match requests with\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"type\": \"object\"\n },\n \"timeout\": {\n \"description\": \"An object that represents a tcp timeout.\",\n \"properties\": {\n \"idle\": {\n \"description\": \"An object that represents idle timeout duration.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"action\",\n \"match\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n \"status\": {\n \"description\": \"VirtualRouterStatus defines the observed state of VirtualRouter\",\n \"properties\": {\n \"conditions\": {\n \"description\": \"The current VirtualRouter status.\",\n \"items\": {\n \"properties\": {\n \"lastTransitionTime\": {\n \"description\": \"Last time the condition transitioned from one status to another.\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"message\": {\n \"description\": \"A human readable message indicating details about the transition.\",\n \"type\": \"string\"\n },\n \"reason\": {\n \"description\": \"The reason for the condition's last transition.\",\n \"type\": \"string\"\n },\n \"status\": {\n \"description\": \"Status of the condition, one of True, False, Unknown.\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"Type of VirtualRouter condition.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"status\",\n \"type\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"observedGeneration\": {\n \"description\": \"The generation observed by the VirtualRouter controller.\",\n \"format\": \"int64\",\n \"type\": \"integer\"\n },\n \"routeARNs\": {\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"description\": \"RouteARNs is a map of AppMesh Route objects' Amazon Resource Names, indexed by route name.\",\n \"type\": \"object\"\n },\n \"virtualRouterARN\": {\n \"description\": \"VirtualRouterARN is the AppMesh VirtualRouter object's Amazon Resource Name.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"title\": \"Virtual Router\",\n \"type\": \"object\",\n \"x-kubernetes-preserve-unknown-fields\": true\n}"} \ No newline at end of file +{"kind":"VirtualRouter","apiVersion":"appmesh.k8s.aws/v1beta2","displayName":"Virtual Router","format":"JSON","metadata":{},"model":{"name":"app_mesh","version":"v1.12.5","displayName":"APP_MESH","category":{"name":"Orchestration \u0026 Management","metadata":null},"metadata":null},"schema":"{\n \"description\": \"VirtualRouter is the Schema for the virtualrouters API\",\n \"properties\": {\n \"apiVersion\": {\n \"description\": \"APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources\",\n \"type\": \"string\"\n },\n \"kind\": {\n \"description\": \"Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds\",\n \"type\": \"string\"\n },\n \"metadata\": {\n \"type\": \"object\"\n },\n \"spec\": {\n \"description\": \"VirtualRouterSpec defines the desired state of VirtualRouter refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_VirtualRouterSpec.html\",\n \"properties\": {\n \"awsName\": {\n \"description\": \"AWSName is the AppMesh VirtualRouter object's name. If unspecified or empty, it defaults to be \\\"${name}_${namespace}\\\" of k8s VirtualRouter\",\n \"type\": \"string\"\n },\n \"listeners\": {\n \"description\": \"The listeners that the virtual router is expected to receive inbound traffic from\",\n \"items\": {\n \"description\": \"VirtualRouterListener refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_VirtualRouterListener.html\",\n \"properties\": {\n \"portMapping\": {\n \"description\": \"The port mapping information for the listener.\",\n \"properties\": {\n \"port\": {\n \"description\": \"The port used for the port mapping.\",\n \"format\": \"int64\",\n \"maximum\": 65535,\n \"minimum\": 1,\n \"type\": \"integer\"\n },\n \"protocol\": {\n \"description\": \"The protocol used for the port mapping.\",\n \"enum\": [\n \"grpc\",\n \"http\",\n \"http2\",\n \"tcp\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"port\",\n \"protocol\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"portMapping\"\n ],\n \"type\": \"object\"\n },\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"meshRef\": {\n \"description\": \"A reference to k8s Mesh CR that this VirtualRouter belongs to. The admission controller populates it using Meshes's selector, and prevents users from setting this field. \\n Populated by the system. Read-only.\",\n \"properties\": {\n \"name\": {\n \"description\": \"Name is the name of Mesh CR\",\n \"type\": \"string\"\n },\n \"uid\": {\n \"description\": \"UID is the UID of Mesh CR\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"uid\"\n ],\n \"type\": \"object\"\n },\n \"routes\": {\n \"description\": \"The routes associated with VirtualRouter\",\n \"items\": {\n \"description\": \"Route refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_RouteSpec.html\",\n \"properties\": {\n \"grpcRoute\": {\n \"description\": \"An object that represents the specification of a gRPC route.\",\n \"properties\": {\n \"action\": {\n \"description\": \"An object that represents the action to take if a match is determined.\",\n \"properties\": {\n \"weightedTargets\": {\n \"description\": \"An object that represents the targets that traffic is routed to when a request matches the route.\",\n \"items\": {\n \"description\": \"WeightedTarget refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_WeightedTarget.html\",\n \"properties\": {\n \"port\": {\n \"description\": \"Specifies the targeted port of the weighted object\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"virtualNodeARN\": {\n \"description\": \"Amazon Resource Name to AppMesh VirtualNode object to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"type\": \"string\"\n },\n \"virtualNodeRef\": {\n \"description\": \"Reference to Kubernetes VirtualNode CR in cluster to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"properties\": {\n \"name\": {\n \"description\": \"Name is the name of VirtualNode CR\",\n \"type\": \"string\"\n },\n \"namespace\": {\n \"description\": \"Namespace is the namespace of VirtualNode CR. If unspecified, defaults to the referencing object's namespace\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"weight\": {\n \"description\": \"The relative weight of the weighted target.\",\n \"format\": \"int64\",\n \"maximum\": 100,\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"weight\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"weightedTargets\"\n ],\n \"type\": \"object\"\n },\n \"match\": {\n \"description\": \"An object that represents the criteria for determining a request match.\",\n \"properties\": {\n \"metadata\": {\n \"description\": \"An object that represents the data to match from the request.\",\n \"items\": {\n \"description\": \"GRPCRouteMetadata refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_GrpcRouteMetadata.html\",\n \"properties\": {\n \"invert\": {\n \"description\": \"Specify True to match anything except the match criteria. The default value is False.\",\n \"type\": \"boolean\"\n },\n \"match\": {\n \"description\": \"An object that represents the data to match from the request.\",\n \"properties\": {\n \"exact\": {\n \"description\": \"The value sent by the client must match the specified value exactly.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"prefix\": {\n \"description\": \"The value sent by the client must begin with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"range\": {\n \"description\": \"An object that represents the range of values to match on\",\n \"properties\": {\n \"end\": {\n \"description\": \"The end of the range.\",\n \"format\": \"int64\",\n \"type\": \"integer\"\n },\n \"start\": {\n \"description\": \"The start of the range.\",\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"end\",\n \"start\"\n ],\n \"type\": \"object\"\n },\n \"regex\": {\n \"description\": \"The value sent by the client must include the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"suffix\": {\n \"description\": \"The value sent by the client must end with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"name\": {\n \"description\": \"The name of the route.\",\n \"maxLength\": 50,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"methodName\": {\n \"description\": \"The method name to match from the request. If you specify a name, you must also specify a serviceName.\",\n \"maxLength\": 50,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"port\": {\n \"description\": \"Specifies the port to match requests with\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"serviceName\": {\n \"description\": \"The fully qualified domain name for the service to match from the request.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"retryPolicy\": {\n \"description\": \"An object that represents a retry policy.\",\n \"properties\": {\n \"grpcRetryEvents\": {\n \"items\": {\n \"enum\": [\n \"cancelled\",\n \"deadline-exceeded\",\n \"internal\",\n \"resource-exhausted\",\n \"unavailable\"\n ],\n \"type\": \"string\"\n },\n \"maxItems\": 5,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"httpRetryEvents\": {\n \"items\": {\n \"enum\": [\n \"server-error\",\n \"gateway-error\",\n \"client-error\",\n \"stream-error\"\n ],\n \"type\": \"string\"\n },\n \"maxItems\": 25,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"maxRetries\": {\n \"description\": \"The maximum number of retry attempts.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"perRetryTimeout\": {\n \"description\": \"An object that represents a duration of time.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"tcpRetryEvents\": {\n \"items\": {\n \"enum\": [\n \"connection-error\"\n ],\n \"type\": \"string\"\n },\n \"maxItems\": 1,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"maxRetries\",\n \"perRetryTimeout\"\n ],\n \"type\": \"object\"\n },\n \"timeout\": {\n \"description\": \"An object that represents a grpc timeout.\",\n \"properties\": {\n \"idle\": {\n \"description\": \"An object that represents idle timeout duration.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"perRequest\": {\n \"description\": \"An object that represents per request timeout duration.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"action\",\n \"match\"\n ],\n \"type\": \"object\"\n },\n \"http2Route\": {\n \"description\": \"An object that represents the specification of an HTTP/2 route.\",\n \"properties\": {\n \"action\": {\n \"description\": \"An object that represents the action to take if a match is determined.\",\n \"properties\": {\n \"weightedTargets\": {\n \"description\": \"An object that represents the targets that traffic is routed to when a request matches the route.\",\n \"items\": {\n \"description\": \"WeightedTarget refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_WeightedTarget.html\",\n \"properties\": {\n \"port\": {\n \"description\": \"Specifies the targeted port of the weighted object\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"virtualNodeARN\": {\n \"description\": \"Amazon Resource Name to AppMesh VirtualNode object to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"type\": \"string\"\n },\n \"virtualNodeRef\": {\n \"description\": \"Reference to Kubernetes VirtualNode CR in cluster to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"properties\": {\n \"name\": {\n \"description\": \"Name is the name of VirtualNode CR\",\n \"type\": \"string\"\n },\n \"namespace\": {\n \"description\": \"Namespace is the namespace of VirtualNode CR. If unspecified, defaults to the referencing object's namespace\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"weight\": {\n \"description\": \"The relative weight of the weighted target.\",\n \"format\": \"int64\",\n \"maximum\": 100,\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"weight\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"weightedTargets\"\n ],\n \"type\": \"object\"\n },\n \"match\": {\n \"description\": \"An object that represents the criteria for determining a request match.\",\n \"properties\": {\n \"headers\": {\n \"description\": \"An object that represents the client request headers to match on.\",\n \"items\": {\n \"description\": \"HTTPRouteHeader refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_HttpRouteHeader.html\",\n \"properties\": {\n \"invert\": {\n \"description\": \"Specify True to match anything except the match criteria. The default value is False.\",\n \"type\": \"boolean\"\n },\n \"match\": {\n \"description\": \"The HeaderMatchMethod object.\",\n \"properties\": {\n \"exact\": {\n \"description\": \"The value sent by the client must match the specified value exactly.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"prefix\": {\n \"description\": \"The value sent by the client must begin with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"range\": {\n \"description\": \"An object that represents the range of values to match on.\",\n \"properties\": {\n \"end\": {\n \"description\": \"The end of the range.\",\n \"format\": \"int64\",\n \"type\": \"integer\"\n },\n \"start\": {\n \"description\": \"The start of the range.\",\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"end\",\n \"start\"\n ],\n \"type\": \"object\"\n },\n \"regex\": {\n \"description\": \"The value sent by the client must include the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"suffix\": {\n \"description\": \"The value sent by the client must end with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"name\": {\n \"description\": \"A name for the HTTP header in the client request that will be matched on.\",\n \"maxLength\": 50,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"method\": {\n \"description\": \"The client request method to match on.\",\n \"enum\": [\n \"CONNECT\",\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n \"TRACE\"\n ],\n \"type\": \"string\"\n },\n \"path\": {\n \"description\": \"The client specified Path to match on.\",\n \"properties\": {\n \"exact\": {\n \"description\": \"The value sent by the client must match the specified value exactly.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"regex\": {\n \"description\": \"The value sent by the client must end with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"port\": {\n \"description\": \"Specifies the port to match requests with\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"prefix\": {\n \"description\": \"Specifies the prefix to match requests with\",\n \"type\": \"string\"\n },\n \"queryParameters\": {\n \"description\": \"The client specified queryParameters to match on\",\n \"items\": {\n \"description\": \"HTTPQueryParameters refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_HttpQueryParameter.html\",\n \"properties\": {\n \"match\": {\n \"description\": \"The QueryMatchMethod object.\",\n \"properties\": {\n \"exact\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"scheme\": {\n \"description\": \"The client request scheme to match on\",\n \"enum\": [\n \"http\",\n \"https\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"retryPolicy\": {\n \"description\": \"An object that represents a retry policy.\",\n \"properties\": {\n \"httpRetryEvents\": {\n \"items\": {\n \"enum\": [\n \"server-error\",\n \"gateway-error\",\n \"client-error\",\n \"stream-error\"\n ],\n \"type\": \"string\"\n },\n \"maxItems\": 25,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"maxRetries\": {\n \"description\": \"The maximum number of retry attempts.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"perRetryTimeout\": {\n \"description\": \"An object that represents a duration of time\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"tcpRetryEvents\": {\n \"items\": {\n \"enum\": [\n \"connection-error\"\n ],\n \"type\": \"string\"\n },\n \"maxItems\": 1,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"maxRetries\",\n \"perRetryTimeout\"\n ],\n \"type\": \"object\"\n },\n \"timeout\": {\n \"description\": \"An object that represents a http timeout.\",\n \"properties\": {\n \"idle\": {\n \"description\": \"An object that represents idle timeout duration.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"perRequest\": {\n \"description\": \"An object that represents per request timeout duration.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"action\",\n \"match\"\n ],\n \"type\": \"object\"\n },\n \"httpRoute\": {\n \"description\": \"An object that represents the specification of an HTTP route.\",\n \"properties\": {\n \"action\": {\n \"description\": \"An object that represents the action to take if a match is determined.\",\n \"properties\": {\n \"weightedTargets\": {\n \"description\": \"An object that represents the targets that traffic is routed to when a request matches the route.\",\n \"items\": {\n \"description\": \"WeightedTarget refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_WeightedTarget.html\",\n \"properties\": {\n \"port\": {\n \"description\": \"Specifies the targeted port of the weighted object\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"virtualNodeARN\": {\n \"description\": \"Amazon Resource Name to AppMesh VirtualNode object to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"type\": \"string\"\n },\n \"virtualNodeRef\": {\n \"description\": \"Reference to Kubernetes VirtualNode CR in cluster to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"properties\": {\n \"name\": {\n \"description\": \"Name is the name of VirtualNode CR\",\n \"type\": \"string\"\n },\n \"namespace\": {\n \"description\": \"Namespace is the namespace of VirtualNode CR. If unspecified, defaults to the referencing object's namespace\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"weight\": {\n \"description\": \"The relative weight of the weighted target.\",\n \"format\": \"int64\",\n \"maximum\": 100,\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"weight\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"weightedTargets\"\n ],\n \"type\": \"object\"\n },\n \"match\": {\n \"description\": \"An object that represents the criteria for determining a request match.\",\n \"properties\": {\n \"headers\": {\n \"description\": \"An object that represents the client request headers to match on.\",\n \"items\": {\n \"description\": \"HTTPRouteHeader refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_HttpRouteHeader.html\",\n \"properties\": {\n \"invert\": {\n \"description\": \"Specify True to match anything except the match criteria. The default value is False.\",\n \"type\": \"boolean\"\n },\n \"match\": {\n \"description\": \"The HeaderMatchMethod object.\",\n \"properties\": {\n \"exact\": {\n \"description\": \"The value sent by the client must match the specified value exactly.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"prefix\": {\n \"description\": \"The value sent by the client must begin with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"range\": {\n \"description\": \"An object that represents the range of values to match on.\",\n \"properties\": {\n \"end\": {\n \"description\": \"The end of the range.\",\n \"format\": \"int64\",\n \"type\": \"integer\"\n },\n \"start\": {\n \"description\": \"The start of the range.\",\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"end\",\n \"start\"\n ],\n \"type\": \"object\"\n },\n \"regex\": {\n \"description\": \"The value sent by the client must include the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"suffix\": {\n \"description\": \"The value sent by the client must end with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"name\": {\n \"description\": \"A name for the HTTP header in the client request that will be matched on.\",\n \"maxLength\": 50,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"method\": {\n \"description\": \"The client request method to match on.\",\n \"enum\": [\n \"CONNECT\",\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n \"TRACE\"\n ],\n \"type\": \"string\"\n },\n \"path\": {\n \"description\": \"The client specified Path to match on.\",\n \"properties\": {\n \"exact\": {\n \"description\": \"The value sent by the client must match the specified value exactly.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"regex\": {\n \"description\": \"The value sent by the client must end with the specified characters.\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"port\": {\n \"description\": \"Specifies the port to match requests with\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"prefix\": {\n \"description\": \"Specifies the prefix to match requests with\",\n \"type\": \"string\"\n },\n \"queryParameters\": {\n \"description\": \"The client specified queryParameters to match on\",\n \"items\": {\n \"description\": \"HTTPQueryParameters refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_HttpQueryParameter.html\",\n \"properties\": {\n \"match\": {\n \"description\": \"The QueryMatchMethod object.\",\n \"properties\": {\n \"exact\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"scheme\": {\n \"description\": \"The client request scheme to match on\",\n \"enum\": [\n \"http\",\n \"https\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"retryPolicy\": {\n \"description\": \"An object that represents a retry policy.\",\n \"properties\": {\n \"httpRetryEvents\": {\n \"items\": {\n \"enum\": [\n \"server-error\",\n \"gateway-error\",\n \"client-error\",\n \"stream-error\"\n ],\n \"type\": \"string\"\n },\n \"maxItems\": 25,\n \"minItems\": 1,\n \"type\": \"array\"\n },\n \"maxRetries\": {\n \"description\": \"The maximum number of retry attempts.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"perRetryTimeout\": {\n \"description\": \"An object that represents a duration of time\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"tcpRetryEvents\": {\n \"items\": {\n \"enum\": [\n \"connection-error\"\n ],\n \"type\": \"string\"\n },\n \"maxItems\": 1,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"maxRetries\",\n \"perRetryTimeout\"\n ],\n \"type\": \"object\"\n },\n \"timeout\": {\n \"description\": \"An object that represents a http timeout.\",\n \"properties\": {\n \"idle\": {\n \"description\": \"An object that represents idle timeout duration.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"perRequest\": {\n \"description\": \"An object that represents per request timeout duration.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"action\",\n \"match\"\n ],\n \"type\": \"object\"\n },\n \"name\": {\n \"description\": \"Route's name\",\n \"type\": \"string\"\n },\n \"priority\": {\n \"description\": \"The priority for the route.\",\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"tcpRoute\": {\n \"description\": \"An object that represents the specification of a TCP route.\",\n \"properties\": {\n \"action\": {\n \"description\": \"The action to take if a match is determined.\",\n \"properties\": {\n \"weightedTargets\": {\n \"description\": \"An object that represents the targets that traffic is routed to when a request matches the route.\",\n \"items\": {\n \"description\": \"WeightedTarget refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_WeightedTarget.html\",\n \"properties\": {\n \"port\": {\n \"description\": \"Specifies the targeted port of the weighted object\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n \"virtualNodeARN\": {\n \"description\": \"Amazon Resource Name to AppMesh VirtualNode object to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"type\": \"string\"\n },\n \"virtualNodeRef\": {\n \"description\": \"Reference to Kubernetes VirtualNode CR in cluster to associate with the weighted target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN' must be specified.\",\n \"properties\": {\n \"name\": {\n \"description\": \"Name is the name of VirtualNode CR\",\n \"type\": \"string\"\n },\n \"namespace\": {\n \"description\": \"Namespace is the namespace of VirtualNode CR. If unspecified, defaults to the referencing object's namespace\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"weight\": {\n \"description\": \"The relative weight of the weighted target.\",\n \"format\": \"int64\",\n \"maximum\": 100,\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"weight\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 10,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"weightedTargets\"\n ],\n \"type\": \"object\"\n },\n \"match\": {\n \"description\": \"An object that represents the criteria for determining a request match.\",\n \"properties\": {\n \"port\": {\n \"description\": \"Specifies the port to match requests with\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"type\": \"object\"\n },\n \"timeout\": {\n \"description\": \"An object that represents a tcp timeout.\",\n \"properties\": {\n \"idle\": {\n \"description\": \"An object that represents idle timeout duration.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"A unit of time.\",\n \"enum\": [\n \"s\",\n \"ms\"\n ],\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"A number of time units.\",\n \"format\": \"int64\",\n \"minimum\": 0,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"unit\",\n \"value\"\n ],\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"action\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n \"status\": {\n \"description\": \"VirtualRouterStatus defines the observed state of VirtualRouter\",\n \"properties\": {\n \"conditions\": {\n \"description\": \"The current VirtualRouter status.\",\n \"items\": {\n \"properties\": {\n \"lastTransitionTime\": {\n \"description\": \"Last time the condition transitioned from one status to another.\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"message\": {\n \"description\": \"A human readable message indicating details about the transition.\",\n \"type\": \"string\"\n },\n \"reason\": {\n \"description\": \"The reason for the condition's last transition.\",\n \"type\": \"string\"\n },\n \"status\": {\n \"description\": \"Status of the condition, one of True, False, Unknown.\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"Type of VirtualRouter condition.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"status\",\n \"type\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"observedGeneration\": {\n \"description\": \"The generation observed by the VirtualRouter controller.\",\n \"format\": \"int64\",\n \"type\": \"integer\"\n },\n \"routeARNs\": {\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"description\": \"RouteARNs is a map of AppMesh Route objects' Amazon Resource Names, indexed by route name.\",\n \"type\": \"object\"\n },\n \"virtualRouterARN\": {\n \"description\": \"VirtualRouterARN is the AppMesh VirtualRouter object's Amazon Resource Name.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"title\": \"Virtual Router\",\n \"type\": \"object\",\n \"x-kubernetes-preserve-unknown-fields\": true\n}"} \ No newline at end of file