
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.4.1
  creationTimestamp: null
  name: virtualservices.appmesh.k8s.aws
spec:
  group: appmesh.k8s.aws
  names:
    categories:
    - all
    kind: VirtualService
    listKind: VirtualServiceList
    plural: virtualservices
    singular: virtualservice
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The AppMesh VirtualService object's Amazon Resource Name
      jsonPath: .status.virtualServiceARN
      name: ARN
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: AGE
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: VirtualService is the Schema for the virtualservices 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: VirtualServiceSpec defines the desired state of VirtualService
              refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_VirtualServiceSpec.html
            properties:
              awsName:
                description: AWSName is the AppMesh VirtualService object's name.
                  If unspecified or empty, it defaults to be "${name}.${namespace}"
                  of k8s VirtualService
                type: string
              meshRef:
                description: "A reference to k8s Mesh CR that this VirtualService
                  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
              provider:
                description: The provider for virtual services. You can specify a
                  single virtual node or virtual router.
                properties:
                  virtualNode:
                    description: The virtual node associated with a virtual service.
                    properties:
                      virtualNodeARN:
                        description: Amazon Resource Name to AppMesh VirtualNode object
                          that is acting as a service provider. Exactly one of 'virtualNodeRef'
                          or 'virtualNodeARN' must be specified.
                        type: string
                      virtualNodeRef:
                        description: Reference to Kubernetes VirtualNode CR in cluster
                          that is acting as a service provider. 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
                    type: object
                  virtualRouter:
                    description: The virtual router associated with a virtual service.
                    properties:
                      virtualRouterARN:
                        description: Amazon Resource Name to AppMesh VirtualRouter
                          object that is acting as a service provider. Exactly one
                          of 'virtualRouterRef' or 'virtualRouterARN' must be specified.
                        type: string
                      virtualRouterRef:
                        description: Reference to Kubernetes VirtualRouter CR in cluster
                          that is acting as a service provider. Exactly one of 'virtualRouterRef'
                          or 'virtualRouterARN' must be specified.
                        properties:
                          name:
                            description: Name is the name of VirtualRouter CR
                            type: string
                          namespace:
                            description: Namespace is the namespace of VirtualRouter
                              CR. If unspecified, defaults to the referencing object's
                              namespace
                            type: string
                        required:
                        - name
                        type: object
                    type: object
                type: object
            type: object
          status:
            description: VirtualServiceStatus defines the observed state of VirtualService
            properties:
              conditions:
                description: The current VirtualService 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 VirtualService condition.
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              observedGeneration:
                description: The generation observed by the VirtualService controller.
                format: int64
                type: integer
              virtualServiceARN:
                description: VirtualServiceARN is the AppMesh VirtualService 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: []
