apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  labels:
    helm.sh/chart: awx-operator
  name: awxbackups.awx.ansible.com
spec:
  group: awx.ansible.com
  names:
    kind: AWXBackup
    listKind: AWXBackupList
    plural: awxbackups
    singular: awxbackup
  scope: Namespaced
  versions:
    - name: v1beta1
      schema:
        openAPIV3Schema:
          description: Schema validation for the AWXBackup CRD
          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:
              properties:
                additional_labels:
                  description: Additional labels defined on the resource, which should be propagated to child resources
                  items:
                    type: string
                  type: array
                backup_pvc:
                  description: Name of the backup PVC
                  type: string
                backup_pvc_namespace:
                  description: (Deprecated) Namespace the PVC is in
                  type: string
                backup_resource_requirements:
                  description: Resource requirements for the management pod used to create a backup
                  properties:
                    limits:
                      properties:
                        cpu:
                          type: string
                        memory:
                          type: string
                      type: object
                    requests:
                      properties:
                        cpu:
                          type: string
                        memory:
                          type: string
                      type: object
                  type: object
                backup_storage_class:
                  description: Storage class to use when creating PVC for backup
                  type: string
                backup_storage_requirements:
                  description: Storage requirements for backup PVC (may be similar to existing postgres PVC backing up from)
                  type: string
                clean_backup_on_delete:
                  description: Flag to indicate if backup should be deleted on PVC if AWXBackup object is deleted
                  type: boolean
                db_management_pod_node_selector:
                  description: nodeSelector for the Postgres pods to backup
                  type: string
                deployment_name:
                  description: Name of the deployment to be backed up
                  type: string
                image_pull_policy:
                  default: IfNotPresent
                  description: The image pull policy
                  enum:
                    - Always
                    - always
                    - Never
                    - never
                    - IfNotPresent
                    - ifnotpresent
                  type: string
                no_log:
                  default: true
                  description: Configure no_log for no_log tasks
                  type: boolean
                pg_dump_suffix:
                  description: Additional parameters for the pg_dump command
                  type: string
                postgres_image:
                  description: Registry path to the PostgreSQL container to use
                  type: string
                postgres_image_version:
                  description: PostgreSQL container image version to use
                  type: string
                postgres_label_selector:
                  description: Label selector used to identify postgres pod for backing up data
                  type: string
                precreate_partition_hours:
                  description: Number of hours worth of events table partitions to precreate before backup to avoid pg_dump locks.
                  format: int32
                  type: integer
                set_self_labels:
                  default: true
                  description: Maintain some of the recommended `app.kubernetes.io/*` labels on the resource (self)
                  type: boolean
              required:
                - deployment_name
              type: object
              x-kubernetes-preserve-unknown-fields: true
            status:
              properties:
                backupClaim:
                  description: Backup persistent volume claim
                  type: string
                backupDirectory:
                  description: Backup directory name on the specified pvc
                  type: string
                conditions:
                  description: The resulting conditions when a Service Telemetry is instantiated
                  items:
                    properties:
                      lastTransitionTime:
                        type: string
                      reason:
                        type: string
                      status:
                        type: string
                      type:
                        type: string
                    type: object
                  type: array
              type: object
              x-kubernetes-preserve-unknown-fields: true
          type: object
      served: true
      storage: true
      subresources:
        status: {}
