apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    registry.knative.dev/eventTypes: |
      [
        { "type": "dev.knative.sources.ping" }
      ]
  labels:
    app.kubernetes.io/component: knative-eventing
    app.kubernetes.io/name: knative-eventing
    duck.knative.dev/source: "true"
    eventing.knative.dev/release: v0.22.1
    eventing.knative.dev/source: "true"
    knative.dev/crd-install: "true"
    kustomize.component: knative
  name: pingsources.sources.knative.dev
spec:
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: eventing-webhook
          namespace: knative-eventing
      conversionReviewVersions:
      - v1
      - v1beta1
  group: sources.knative.dev
  names:
    categories:
    - all
    - knative
    - sources
    kind: PingSource
    plural: pingsources
    singular: pingsource
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.sinkUri
      name: Sink
      type: string
    - jsonPath: .spec.schedule
      name: Schedule
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    - jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: Ready
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].reason
      name: Reason
      type: string
    name: v1alpha2
    schema:
      openAPIV3Schema:
        description: PingSource describes an event source with a fixed payload produced
          on a specified cron schedule.
        properties:
          spec:
            description: PingSourceSpec defines the desired state of the PingSource
              (from the client).
            properties:
              ceOverrides:
                description: CloudEventOverrides defines overrides to control the
                  output format and modifications of the event sent to the sink.
                properties:
                  extensions:
                    additionalProperties:
                      type: string
                    description: Extensions specify what attribute are added or overridden
                      on the outbound event. Each `Extensions` key-value pair are
                      set on the event as an attribute extension independently.
                    type: object
                    x-kubernetes-preserve-unknown-fields: true
                type: object
              jsonData:
                description: JsonData is json encoded data used as the body of the
                  event posted to the sink. Default is empty. If set, datacontenttype
                  will also be set to "application/json".
                type: string
              schedule:
                description: Schedule is the cronjob schedule. Defaults to `* * *
                  * *`.
                type: string
              sink:
                description: Sink is a reference to an object that will resolve to
                  a uri to use as the sink.
                properties:
                  ref:
                    description: Ref points to an Addressable.
                    properties:
                      apiVersion:
                        description: API version of the referent.
                        type: string
                      kind:
                        description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                        type: string
                      name:
                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                        type: string
                      namespace:
                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
                          This is optional field, it gets defaulted to the object
                          holding it if left out.'
                        type: string
                    type: object
                  uri:
                    description: URI can be an absolute URL(non-empty scheme and non-empty
                      host) pointing to the target or a relative URI. Relative URIs
                      will be resolved using the base URI retrieved from Ref.
                    type: string
                type: object
            type: object
          status:
            description: PingSourceStatus defines the observed state of PingSource
              (from the controller).
            properties:
              annotations:
                description: Annotations is additional Status fields for the Resource
                  to save some additional State as well as convey more information
                  to the user. This is roughly akin to Annotations on any k8s resource,
                  just the reconciler conveying richer information outwards.
                type: object
                x-kubernetes-preserve-unknown-fields: true
              ceAttributes:
                description: CloudEventAttributes are the specific attributes that
                  the Source uses as part of its CloudEvents.
                items:
                  properties:
                    source:
                      description: Source is the CloudEvents source attribute.
                      type: string
                    type:
                      description: Type refers to the CloudEvent type attribute.
                      type: string
                  type: object
                type: array
              conditions:
                description: Conditions the latest available observations of a resource's
                  current state.
                items:
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the last time the condition
                        transitioned from one status to another. We use VolatileTime
                        in place of metav1.Time to exclude this from creating equality.Semantic
                        differences (all other things held constant).
                      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
                    severity:
                      description: Severity with which to treat failures of this type
                        of condition. When this is not specified, it defaults to Error.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type of condition.
                      type: string
                  required:
                  - type
                  - status
                  type: object
                type: array
              observedGeneration:
                description: ObservedGeneration is the "Generation" of the Service
                  that was last processed by the controller.
                format: int64
                type: integer
              sinkUri:
                description: SinkURI is the current active sink URI that has been
                  configured for the Source.
                type: string
            type: object
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - jsonPath: .status.sinkUri
      name: Sink
      type: string
    - jsonPath: .spec.schedule
      name: Schedule
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    - jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: Ready
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].reason
      name: Reason
      type: string
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: PingSource describes an event source with a fixed payload produced
          on a specified cron schedule.
        properties:
          spec:
            description: PingSourceSpec defines the desired state of the PingSource
              (from the client).
            properties:
              ceOverrides:
                description: CloudEventOverrides defines overrides to control the
                  output format and modifications of the event sent to the sink.
                properties:
                  extensions:
                    additionalProperties:
                      type: string
                    description: Extensions specify what attribute are added or overridden
                      on the outbound event. Each `Extensions` key-value pair are
                      set on the event as an attribute extension independently.
                    type: object
                    x-kubernetes-preserve-unknown-fields: true
                type: object
              jsonData:
                description: JsonData is json encoded data used as the body of the
                  event posted to the sink. Default is empty. If set, datacontenttype
                  will also be set to "application/json".
                type: string
              schedule:
                description: Schedule is the cronjob schedule. Defaults to `* * *
                  * *`.
                type: string
              sink:
                description: Sink is a reference to an object that will resolve to
                  a uri to use as the sink.
                properties:
                  ref:
                    description: Ref points to an Addressable.
                    properties:
                      apiVersion:
                        description: API version of the referent.
                        type: string
                      kind:
                        description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                        type: string
                      name:
                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                        type: string
                      namespace:
                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
                          This is optional field, it gets defaulted to the object
                          holding it if left out.'
                        type: string
                    type: object
                  uri:
                    description: URI can be an absolute URL(non-empty scheme and non-empty
                      host) pointing to the target or a relative URI. Relative URIs
                      will be resolved using the base URI retrieved from Ref.
                    type: string
                type: object
              timezone:
                description: 'Timezone modifies the actual time relative to the specified
                  timezone. Defaults to the system time zone. More general information
                  about time zones: https://www.iana.org/time-zones List of valid
                  timezone values: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones'
                type: string
            type: object
          status:
            description: PingSourceStatus defines the observed state of PingSource
              (from the controller).
            properties:
              annotations:
                description: Annotations is additional Status fields for the Resource
                  to save some additional State as well as convey more information
                  to the user. This is roughly akin to Annotations on any k8s resource,
                  just the reconciler conveying richer information outwards.
                type: object
                x-kubernetes-preserve-unknown-fields: true
              ceAttributes:
                description: CloudEventAttributes are the specific attributes that
                  the Source uses as part of its CloudEvents.
                items:
                  properties:
                    source:
                      description: Source is the CloudEvents source attribute.
                      type: string
                    type:
                      description: Type refers to the CloudEvent type attribute.
                      type: string
                  type: object
                type: array
              conditions:
                description: Conditions the latest available observations of a resource's
                  current state.
                items:
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the last time the condition
                        transitioned from one status to another. We use VolatileTime
                        in place of metav1.Time to exclude this from creating equality.Semantic
                        differences (all other things held constant).
                      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
                    severity:
                      description: Severity with which to treat failures of this type
                        of condition. When this is not specified, it defaults to Error.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type of condition.
                      type: string
                  required:
                  - type
                  - status
                  type: object
                type: array
              observedGeneration:
                description: ObservedGeneration is the "Generation" of the Service
                  that was last processed by the controller.
                format: int64
                type: integer
              sinkUri:
                description: SinkURI is the current active sink URI that has been
                  configured for the Source.
                type: string
            type: object
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - jsonPath: .status.sinkUri
      name: Sink
      type: string
    - jsonPath: .spec.schedule
      name: Schedule
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    - jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: Ready
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].reason
      name: Reason
      type: string
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: PingSource describes an event source with a fixed payload produced
          on a specified cron schedule.
        properties:
          spec:
            description: PingSourceSpec defines the desired state of the PingSource
              (from the client).
            properties:
              ceOverrides:
                description: CloudEventOverrides defines overrides to control the
                  output format and modifications of the event sent to the sink.
                properties:
                  extensions:
                    additionalProperties:
                      type: string
                    description: Extensions specify what attribute are added or overridden
                      on the outbound event. Each `Extensions` key-value pair are
                      set on the event as an attribute extension independently.
                    type: object
                    x-kubernetes-preserve-unknown-fields: true
                type: object
              contentType:
                description: ContentType is the media type of `data` or `dataBase64`.
                  Default is empty.
                type: string
              data:
                description: Data is data used as the body of the event posted to
                  the sink. Default is empty. Mutually exclusive with `dataBase64`.
                type: string
              dataBase64:
                description: DataBase64 is the base64-encoded string of the actual
                  event's body posted to the sink. Default is empty. Mutually exclusive
                  with `data`.
                type: string
              schedule:
                description: Schedule is the cron schedule. Defaults to `* * * * *`.
                type: string
              sink:
                description: Sink is a reference to an object that will resolve to
                  a uri to use as the sink.
                properties:
                  ref:
                    description: Ref points to an Addressable.
                    properties:
                      apiVersion:
                        description: API version of the referent.
                        type: string
                      kind:
                        description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                        type: string
                      name:
                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                        type: string
                      namespace:
                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
                          This is optional field, it gets defaulted to the object
                          holding it if left out.'
                        type: string
                    type: object
                  uri:
                    description: URI can be an absolute URL(non-empty scheme and non-empty
                      host) pointing to the target or a relative URI. Relative URIs
                      will be resolved using the base URI retrieved from Ref.
                    type: string
                type: object
              timezone:
                description: 'Timezone modifies the actual time relative to the specified
                  timezone. Defaults to the system time zone. More general information
                  about time zones: https://www.iana.org/time-zones List of valid
                  timezone values: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones'
                type: string
            type: object
          status:
            description: PingSourceStatus defines the observed state of PingSource
              (from the controller).
            properties:
              annotations:
                description: Annotations is additional Status fields for the Resource
                  to save some additional State as well as convey more information
                  to the user. This is roughly akin to Annotations on any k8s resource,
                  just the reconciler conveying richer information outwards.
                type: object
                x-kubernetes-preserve-unknown-fields: true
              ceAttributes:
                description: CloudEventAttributes are the specific attributes that
                  the Source uses as part of its CloudEvents.
                items:
                  properties:
                    source:
                      description: Source is the CloudEvents source attribute.
                      type: string
                    type:
                      description: Type refers to the CloudEvent type attribute.
                      type: string
                  type: object
                type: array
              conditions:
                description: Conditions the latest available observations of a resource's
                  current state.
                items:
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the last time the condition
                        transitioned from one status to another. We use VolatileTime
                        in place of metav1.Time to exclude this from creating equality.Semantic
                        differences (all other things held constant).
                      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
                    severity:
                      description: Severity with which to treat failures of this type
                        of condition. When this is not specified, it defaults to Error.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type of condition.
                      type: string
                  required:
                  - type
                  - status
                  type: object
                type: array
              observedGeneration:
                description: ObservedGeneration is the "Generation" of the Service
                  that was last processed by the controller.
                format: int64
                type: integer
              sinkUri:
                description: SinkURI is the current active sink URI that has been
                  configured for the Source.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
