apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: (devel)
  name: pipelines.devops.kubesphere.io
spec:
  group: devops.kubesphere.io
  names:
    kind: Pipeline
    listKind: PipelineList
    plural: pipelines
    singular: pipeline
  scope: Namespaced
  versions:
  - name: v1alpha3
    schema:
      openAPIV3Schema:
        description: Pipeline is the Schema for the pipelines 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: PipelineSpec defines the desired state of Pipeline
            properties:
              multi_branch_pipeline:
                properties:
                  bitbucket_server_source:
                    properties:
                      api_uri:
                        type: string
                      credential_id:
                        type: string
                      discover_branches:
                        type: integer
                      discover_pr_from_forks:
                        properties:
                          strategy:
                            type: integer
                          trust:
                            type: integer
                        type: object
                      discover_pr_from_origin:
                        type: integer
                      discover_tags:
                        type: boolean
                      git_clone_option:
                        properties:
                          depth:
                            type: integer
                          shallow:
                            type: boolean
                          timeout:
                            type: integer
                        type: object
                      owner:
                        type: string
                      regex_filter:
                        type: string
                      repo:
                        type: string
                      scm_id:
                        type: string
                    type: object
                  description:
                    type: string
                  discarder:
                    properties:
                      days_to_keep:
                        type: string
                      num_to_keep:
                        type: string
                    type: object
                  git_source:
                    properties:
                      credential_id:
                        type: string
                      discover_branches:
                        type: boolean
                      discover_tags:
                        type: boolean
                      git_clone_option:
                        properties:
                          depth:
                            type: integer
                          shallow:
                            type: boolean
                          timeout:
                            type: integer
                        type: object
                      regex_filter:
                        type: string
                      scm_id:
                        type: string
                      url:
                        type: string
                    type: object
                  github_source:
                    description: GithubSource and BitbucketServerSource have the same
                      structure, but we don't use one due to crd errors
                    properties:
                      api_uri:
                        type: string
                      credential_id:
                        type: string
                      discover_branches:
                        type: integer
                      discover_pr_from_forks:
                        properties:
                          strategy:
                            type: integer
                          trust:
                            type: integer
                        type: object
                      discover_pr_from_origin:
                        type: integer
                      discover_tags:
                        type: boolean
                      git_clone_option:
                        properties:
                          depth:
                            type: integer
                          shallow:
                            type: boolean
                          timeout:
                            type: integer
                        type: object
                      owner:
                        type: string
                      regex_filter:
                        type: string
                      repo:
                        type: string
                      scm_id:
                        type: string
                    type: object
                  gitlab_source:
                    properties:
                      api_uri:
                        type: string
                      credential_id:
                        type: string
                      discover_branches:
                        type: integer
                      discover_pr_from_forks:
                        properties:
                          strategy:
                            type: integer
                          trust:
                            type: integer
                        type: object
                      discover_pr_from_origin:
                        type: integer
                      discover_tags:
                        type: boolean
                      git_clone_option:
                        properties:
                          depth:
                            type: integer
                          shallow:
                            type: boolean
                          timeout:
                            type: integer
                        type: object
                      owner:
                        type: string
                      regex_filter:
                        type: string
                      repo:
                        type: string
                      scm_id:
                        type: string
                      server_name:
                        type: string
                    type: object
                  multibranch_job_trigger:
                    properties:
                      create_action_job_to_trigger:
                        type: string
                      delete_action_job_to_trigger:
                        type: string
                    type: object
                  name:
                    type: string
                  script_path:
                    type: string
                  single_svn_source:
                    properties:
                      credential_id:
                        type: string
                      remote:
                        type: string
                      scm_id:
                        type: string
                    type: object
                  source_type:
                    type: string
                  svn_source:
                    properties:
                      credential_id:
                        type: string
                      excludes:
                        type: string
                      includes:
                        type: string
                      remote:
                        type: string
                      scm_id:
                        type: string
                    type: object
                  timer_trigger:
                    properties:
                      cron:
                        description: user in no scm job
                        type: string
                      interval:
                        description: use in multi-branch job
                        type: string
                    type: object
                required:
                - name
                - script_path
                - source_type
                type: object
              pipeline:
                properties:
                  description:
                    type: string
                  disable_concurrent:
                    type: boolean
                  discarder:
                    properties:
                      days_to_keep:
                        type: string
                      num_to_keep:
                        type: string
                    type: object
                  generic_webhook:
                    properties:
                      cause:
                        type: string
                      enable:
                        type: boolean
                      filter_expression:
                        type: string
                      filter_text:
                        type: string
                      header_variables:
                        items:
                          properties:
                            key:
                              type: string
                            regexp_filter:
                              type: string
                          type: object
                        type: array
                      print_post_content:
                        type: boolean
                      print_variables:
                        type: boolean
                      request_variables:
                        items:
                          properties:
                            key:
                              type: string
                            regexp_filter:
                              type: string
                          type: object
                        type: array
                      token:
                        type: string
                    type: object
                  jenkinsfile:
                    type: string
                  name:
                    type: string
                  parameters:
                    items:
                      properties:
                        default_value:
                          type: string
                        description:
                          type: string
                        name:
                          type: string
                        type:
                          type: string
                      required:
                      - name
                      - type
                      type: object
                    type: array
                  remote_trigger:
                    properties:
                      token:
                        type: string
                    type: object
                  timer_trigger:
                    properties:
                      cron:
                        description: user in no scm job
                        type: string
                      interval:
                        description: use in multi-branch job
                        type: string
                    type: object
                required:
                - name
                type: object
              type:
                description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
                  Important: Run "make" to regenerate code after modifying this file'
                type: string
            required:
            - type
            type: object
          status:
            description: PipelineStatus defines the observed state of Pipeline
            type: object
        type: object
    served: true
    storage: true
