config/crd/bases/appmesh.k8s.aws_virtualrouters.yaml (1,106 lines of code) (raw):
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: virtualrouters.appmesh.k8s.aws
spec:
group: appmesh.k8s.aws
names:
categories:
- all
kind: VirtualRouter
listKind: VirtualRouterList
plural: virtualrouters
singular: virtualrouter
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: The AppMesh VirtualRouter object's Amazon Resource Name
jsonPath: .status.virtualRouterARN
name: ARN
type: string
- jsonPath: .metadata.creationTimestamp
name: AGE
type: date
name: v1beta2
schema:
openAPIV3Schema:
description: VirtualRouter is the Schema for the virtualrouters API
properties:
apiVersion:
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'
type: string
kind:
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'
type: string
metadata:
type: object
spec:
description: VirtualRouterSpec defines the desired state of VirtualRouter
refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_VirtualRouterSpec.html
properties:
awsName:
description: AWSName is the AppMesh VirtualRouter object's name. If
unspecified or empty, it defaults to be "${name}_${namespace}" of
k8s VirtualRouter
type: string
listeners:
description: The listeners that the virtual router is expected to
receive inbound traffic from
items:
description: VirtualRouterListener refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_VirtualRouterListener.html
properties:
portMapping:
description: The port mapping information for the listener.
properties:
port:
description: The port used for the port mapping.
format: int64
maximum: 65535
minimum: 1
type: integer
protocol:
description: The protocol used for the port mapping.
enum:
- grpc
- http
- http2
- tcp
type: string
required:
- port
- protocol
type: object
required:
- portMapping
type: object
minItems: 1
type: array
meshRef:
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."
properties:
name:
description: Name is the name of Mesh CR
type: string
uid:
description: UID is the UID of Mesh CR
type: string
required:
- name
- uid
type: object
routes:
description: The routes associated with VirtualRouter
items:
description: Route refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_RouteSpec.html
properties:
grpcRoute:
description: An object that represents the specification of
a gRPC route.
properties:
action:
description: An object that represents the action to take
if a match is determined.
properties:
weightedTargets:
description: An object that represents the targets that
traffic is routed to when a request matches the route.
items:
description: WeightedTarget refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_WeightedTarget.html
properties:
port:
description: Specifies the targeted port of the
weighted object
format: int64
minimum: 0
type: integer
virtualNodeARN:
description: Amazon Resource Name to AppMesh VirtualNode
object to associate with the weighted target.
Exactly one of 'virtualNodeRef' or 'virtualNodeARN'
must be specified.
type: string
virtualNodeRef:
description: Reference to Kubernetes VirtualNode
CR in cluster to associate with the weighted
target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN'
must be specified.
properties:
name:
description: Name is the name of VirtualNode
CR
type: string
namespace:
description: Namespace is the namespace of
VirtualNode CR. If unspecified, defaults
to the referencing object's namespace
type: string
required:
- name
type: object
weight:
description: The relative weight of the weighted
target.
format: int64
maximum: 100
minimum: 0
type: integer
required:
- weight
type: object
maxItems: 10
minItems: 1
type: array
required:
- weightedTargets
type: object
match:
description: An object that represents the criteria for
determining a request match.
properties:
metadata:
description: An object that represents the data to match
from the request.
items:
description: GRPCRouteMetadata refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_GrpcRouteMetadata.html
properties:
invert:
description: Specify True to match anything except
the match criteria. The default value is False.
type: boolean
match:
description: An object that represents the data
to match from the request.
properties:
exact:
description: The value sent by the client
must match the specified value exactly.
maxLength: 255
minLength: 1
type: string
prefix:
description: The value sent by the client
must begin with the specified characters.
maxLength: 255
minLength: 1
type: string
range:
description: An object that represents the
range of values to match on
properties:
end:
description: The end of the range.
format: int64
type: integer
start:
description: The start of the range.
format: int64
type: integer
required:
- end
- start
type: object
regex:
description: The value sent by the client
must include the specified characters.
maxLength: 255
minLength: 1
type: string
suffix:
description: The value sent by the client
must end with the specified characters.
maxLength: 255
minLength: 1
type: string
type: object
name:
description: The name of the route.
maxLength: 50
minLength: 1
type: string
required:
- name
type: object
maxItems: 10
minItems: 1
type: array
methodName:
description: The method name to match from the request.
If you specify a name, you must also specify a serviceName.
maxLength: 50
minLength: 1
type: string
port:
description: Specifies the port to match requests with
format: int64
minimum: 0
type: integer
serviceName:
description: The fully qualified domain name for the
service to match from the request.
type: string
type: object
retryPolicy:
description: An object that represents a retry policy.
properties:
grpcRetryEvents:
items:
enum:
- cancelled
- deadline-exceeded
- internal
- resource-exhausted
- unavailable
type: string
maxItems: 5
minItems: 1
type: array
httpRetryEvents:
items:
enum:
- server-error
- gateway-error
- client-error
- stream-error
type: string
maxItems: 25
minItems: 1
type: array
maxRetries:
description: The maximum number of retry attempts.
format: int64
minimum: 0
type: integer
perRetryTimeout:
description: An object that represents a duration of
time.
properties:
unit:
description: A unit of time.
enum:
- s
- ms
type: string
value:
description: A number of time units.
format: int64
minimum: 0
type: integer
required:
- unit
- value
type: object
tcpRetryEvents:
items:
enum:
- connection-error
type: string
maxItems: 1
minItems: 1
type: array
required:
- maxRetries
- perRetryTimeout
type: object
timeout:
description: An object that represents a grpc timeout.
properties:
idle:
description: An object that represents idle timeout
duration.
properties:
unit:
description: A unit of time.
enum:
- s
- ms
type: string
value:
description: A number of time units.
format: int64
minimum: 0
type: integer
required:
- unit
- value
type: object
perRequest:
description: An object that represents per request timeout
duration.
properties:
unit:
description: A unit of time.
enum:
- s
- ms
type: string
value:
description: A number of time units.
format: int64
minimum: 0
type: integer
required:
- unit
- value
type: object
type: object
required:
- action
- match
type: object
http2Route:
description: An object that represents the specification of
an HTTP/2 route.
properties:
action:
description: An object that represents the action to take
if a match is determined.
properties:
weightedTargets:
description: An object that represents the targets that
traffic is routed to when a request matches the route.
items:
description: WeightedTarget refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_WeightedTarget.html
properties:
port:
description: Specifies the targeted port of the
weighted object
format: int64
minimum: 0
type: integer
virtualNodeARN:
description: Amazon Resource Name to AppMesh VirtualNode
object to associate with the weighted target.
Exactly one of 'virtualNodeRef' or 'virtualNodeARN'
must be specified.
type: string
virtualNodeRef:
description: Reference to Kubernetes VirtualNode
CR in cluster to associate with the weighted
target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN'
must be specified.
properties:
name:
description: Name is the name of VirtualNode
CR
type: string
namespace:
description: Namespace is the namespace of
VirtualNode CR. If unspecified, defaults
to the referencing object's namespace
type: string
required:
- name
type: object
weight:
description: The relative weight of the weighted
target.
format: int64
maximum: 100
minimum: 0
type: integer
required:
- weight
type: object
maxItems: 10
minItems: 1
type: array
required:
- weightedTargets
type: object
match:
description: An object that represents the criteria for
determining a request match.
properties:
headers:
description: An object that represents the client request
headers to match on.
items:
description: HTTPRouteHeader refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_HttpRouteHeader.html
properties:
invert:
description: Specify True to match anything except
the match criteria. The default value is False.
type: boolean
match:
description: The HeaderMatchMethod object.
properties:
exact:
description: The value sent by the client
must match the specified value exactly.
maxLength: 255
minLength: 1
type: string
prefix:
description: The value sent by the client
must begin with the specified characters.
maxLength: 255
minLength: 1
type: string
range:
description: An object that represents the
range of values to match on.
properties:
end:
description: The end of the range.
format: int64
type: integer
start:
description: The start of the range.
format: int64
type: integer
required:
- end
- start
type: object
regex:
description: The value sent by the client
must include the specified characters.
maxLength: 255
minLength: 1
type: string
suffix:
description: The value sent by the client
must end with the specified characters.
maxLength: 255
minLength: 1
type: string
type: object
name:
description: A name for the HTTP header in the
client request that will be matched on.
maxLength: 50
minLength: 1
type: string
required:
- name
type: object
maxItems: 10
minItems: 1
type: array
method:
description: The client request method to match on.
enum:
- CONNECT
- DELETE
- GET
- HEAD
- OPTIONS
- PATCH
- POST
- PUT
- TRACE
type: string
path:
description: The client specified Path to match on.
properties:
exact:
description: The value sent by the client must match
the specified value exactly.
maxLength: 255
minLength: 1
type: string
regex:
description: The value sent by the client must end
with the specified characters.
maxLength: 255
minLength: 1
type: string
type: object
port:
description: Specifies the port to match requests with
format: int64
minimum: 0
type: integer
prefix:
description: Specifies the prefix to match requests
with
type: string
queryParameters:
description: The client specified queryParameters to
match on
items:
description: HTTPQueryParameters refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_HttpQueryParameter.html
properties:
match:
description: The QueryMatchMethod object.
properties:
exact:
type: string
type: object
name:
type: string
required:
- name
type: object
maxItems: 10
minItems: 1
type: array
scheme:
description: The client request scheme to match on
enum:
- http
- https
type: string
type: object
retryPolicy:
description: An object that represents a retry policy.
properties:
httpRetryEvents:
items:
enum:
- server-error
- gateway-error
- client-error
- stream-error
type: string
maxItems: 25
minItems: 1
type: array
maxRetries:
description: The maximum number of retry attempts.
format: int64
minimum: 0
type: integer
perRetryTimeout:
description: An object that represents a duration of
time
properties:
unit:
description: A unit of time.
enum:
- s
- ms
type: string
value:
description: A number of time units.
format: int64
minimum: 0
type: integer
required:
- unit
- value
type: object
tcpRetryEvents:
items:
enum:
- connection-error
type: string
maxItems: 1
minItems: 1
type: array
required:
- maxRetries
- perRetryTimeout
type: object
timeout:
description: An object that represents a http timeout.
properties:
idle:
description: An object that represents idle timeout
duration.
properties:
unit:
description: A unit of time.
enum:
- s
- ms
type: string
value:
description: A number of time units.
format: int64
minimum: 0
type: integer
required:
- unit
- value
type: object
perRequest:
description: An object that represents per request timeout
duration.
properties:
unit:
description: A unit of time.
enum:
- s
- ms
type: string
value:
description: A number of time units.
format: int64
minimum: 0
type: integer
required:
- unit
- value
type: object
type: object
required:
- action
- match
type: object
httpRoute:
description: An object that represents the specification of
an HTTP route.
properties:
action:
description: An object that represents the action to take
if a match is determined.
properties:
weightedTargets:
description: An object that represents the targets that
traffic is routed to when a request matches the route.
items:
description: WeightedTarget refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_WeightedTarget.html
properties:
port:
description: Specifies the targeted port of the
weighted object
format: int64
minimum: 0
type: integer
virtualNodeARN:
description: Amazon Resource Name to AppMesh VirtualNode
object to associate with the weighted target.
Exactly one of 'virtualNodeRef' or 'virtualNodeARN'
must be specified.
type: string
virtualNodeRef:
description: Reference to Kubernetes VirtualNode
CR in cluster to associate with the weighted
target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN'
must be specified.
properties:
name:
description: Name is the name of VirtualNode
CR
type: string
namespace:
description: Namespace is the namespace of
VirtualNode CR. If unspecified, defaults
to the referencing object's namespace
type: string
required:
- name
type: object
weight:
description: The relative weight of the weighted
target.
format: int64
maximum: 100
minimum: 0
type: integer
required:
- weight
type: object
maxItems: 10
minItems: 1
type: array
required:
- weightedTargets
type: object
match:
description: An object that represents the criteria for
determining a request match.
properties:
headers:
description: An object that represents the client request
headers to match on.
items:
description: HTTPRouteHeader refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_HttpRouteHeader.html
properties:
invert:
description: Specify True to match anything except
the match criteria. The default value is False.
type: boolean
match:
description: The HeaderMatchMethod object.
properties:
exact:
description: The value sent by the client
must match the specified value exactly.
maxLength: 255
minLength: 1
type: string
prefix:
description: The value sent by the client
must begin with the specified characters.
maxLength: 255
minLength: 1
type: string
range:
description: An object that represents the
range of values to match on.
properties:
end:
description: The end of the range.
format: int64
type: integer
start:
description: The start of the range.
format: int64
type: integer
required:
- end
- start
type: object
regex:
description: The value sent by the client
must include the specified characters.
maxLength: 255
minLength: 1
type: string
suffix:
description: The value sent by the client
must end with the specified characters.
maxLength: 255
minLength: 1
type: string
type: object
name:
description: A name for the HTTP header in the
client request that will be matched on.
maxLength: 50
minLength: 1
type: string
required:
- name
type: object
maxItems: 10
minItems: 1
type: array
method:
description: The client request method to match on.
enum:
- CONNECT
- DELETE
- GET
- HEAD
- OPTIONS
- PATCH
- POST
- PUT
- TRACE
type: string
path:
description: The client specified Path to match on.
properties:
exact:
description: The value sent by the client must match
the specified value exactly.
maxLength: 255
minLength: 1
type: string
regex:
description: The value sent by the client must end
with the specified characters.
maxLength: 255
minLength: 1
type: string
type: object
port:
description: Specifies the port to match requests with
format: int64
minimum: 0
type: integer
prefix:
description: Specifies the prefix to match requests
with
type: string
queryParameters:
description: The client specified queryParameters to
match on
items:
description: HTTPQueryParameters refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_HttpQueryParameter.html
properties:
match:
description: The QueryMatchMethod object.
properties:
exact:
type: string
type: object
name:
type: string
required:
- name
type: object
maxItems: 10
minItems: 1
type: array
scheme:
description: The client request scheme to match on
enum:
- http
- https
type: string
type: object
retryPolicy:
description: An object that represents a retry policy.
properties:
httpRetryEvents:
items:
enum:
- server-error
- gateway-error
- client-error
- stream-error
type: string
maxItems: 25
minItems: 1
type: array
maxRetries:
description: The maximum number of retry attempts.
format: int64
minimum: 0
type: integer
perRetryTimeout:
description: An object that represents a duration of
time
properties:
unit:
description: A unit of time.
enum:
- s
- ms
type: string
value:
description: A number of time units.
format: int64
minimum: 0
type: integer
required:
- unit
- value
type: object
tcpRetryEvents:
items:
enum:
- connection-error
type: string
maxItems: 1
minItems: 1
type: array
required:
- maxRetries
- perRetryTimeout
type: object
timeout:
description: An object that represents a http timeout.
properties:
idle:
description: An object that represents idle timeout
duration.
properties:
unit:
description: A unit of time.
enum:
- s
- ms
type: string
value:
description: A number of time units.
format: int64
minimum: 0
type: integer
required:
- unit
- value
type: object
perRequest:
description: An object that represents per request timeout
duration.
properties:
unit:
description: A unit of time.
enum:
- s
- ms
type: string
value:
description: A number of time units.
format: int64
minimum: 0
type: integer
required:
- unit
- value
type: object
type: object
required:
- action
- match
type: object
name:
description: Route's name
type: string
priority:
description: The priority for the route.
format: int64
maximum: 1000
minimum: 0
type: integer
tcpRoute:
description: An object that represents the specification of
a TCP route.
properties:
action:
description: The action to take if a match is determined.
properties:
weightedTargets:
description: An object that represents the targets that
traffic is routed to when a request matches the route.
items:
description: WeightedTarget refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_WeightedTarget.html
properties:
port:
description: Specifies the targeted port of the
weighted object
format: int64
minimum: 0
type: integer
virtualNodeARN:
description: Amazon Resource Name to AppMesh VirtualNode
object to associate with the weighted target.
Exactly one of 'virtualNodeRef' or 'virtualNodeARN'
must be specified.
type: string
virtualNodeRef:
description: Reference to Kubernetes VirtualNode
CR in cluster to associate with the weighted
target. Exactly one of 'virtualNodeRef' or 'virtualNodeARN'
must be specified.
properties:
name:
description: Name is the name of VirtualNode
CR
type: string
namespace:
description: Namespace is the namespace of
VirtualNode CR. If unspecified, defaults
to the referencing object's namespace
type: string
required:
- name
type: object
weight:
description: The relative weight of the weighted
target.
format: int64
maximum: 100
minimum: 0
type: integer
required:
- weight
type: object
maxItems: 10
minItems: 1
type: array
required:
- weightedTargets
type: object
match:
description: An object that represents the criteria for
determining a request match.
properties:
port:
description: Specifies the port to match requests with
format: int64
minimum: 0
type: integer
type: object
timeout:
description: An object that represents a tcp timeout.
properties:
idle:
description: An object that represents idle timeout
duration.
properties:
unit:
description: A unit of time.
enum:
- s
- ms
type: string
value:
description: A number of time units.
format: int64
minimum: 0
type: integer
required:
- unit
- value
type: object
type: object
required:
- action
type: object
required:
- name
type: object
type: array
type: object
status:
description: VirtualRouterStatus defines the observed state of VirtualRouter
properties:
conditions:
description: The current VirtualRouter status.
items:
properties:
lastTransitionTime:
description: Last time the condition transitioned from one status
to another.
format: date-time
type: string
message:
description: A human readable message indicating details about
the transition.
type: string
reason:
description: The reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of VirtualRouter condition.
type: string
required:
- status
- type
type: object
type: array
observedGeneration:
description: The generation observed by the VirtualRouter controller.
format: int64
type: integer
routeARNs:
additionalProperties:
type: string
description: RouteARNs is a map of AppMesh Route objects' Amazon Resource
Names, indexed by route name.
type: object
virtualRouterARN:
description: VirtualRouterARN is the AppMesh VirtualRouter object's
Amazon Resource Name.
type: string
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []