
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  name: avoidanceactions.ensurance.crane.io
spec:
  group: ensurance.crane.io
  names:
    kind: AvoidanceAction
    listKind: AvoidanceActionList
    plural: avoidanceactions
    shortNames:
    - avoid
    singular: avoidanceaction
  scope: Cluster
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: AvoidanceAction defines Avoidance action
        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:
              coolDownSeconds:
                default: 300
                description: CoolDownSeconds is the seconds for cool down when do
                  avoidance. Defaults to 300. Minimum value is 1.
                format: int32
                type: integer
              description:
                description: Description is an arbitrary string that usually provides
                  guidelines on when this action should be used.
                maxLength: 1024
                type: string
              eviction:
                description: Eviction describes the eviction action
                properties:
                  terminationGracePeriodSeconds:
                    description: TerminationGracePeriodSeconds is the duration in
                      seconds the pod needs to terminate gracefully. May be decreased
                      in delete request. If this value is nil, the pod's terminationGracePeriodSeconds
                      will be used. Otherwise, this value overrides the value provided
                      by the pod spec. Value must be non-negative integer. The value
                      zero indicates delete immediately.
                    format: int32
                    type: integer
                type: object
              throttle:
                description: Throttle describes the throttling action
                properties:
                  cpuThrottle:
                    properties:
                      minCPURatio:
                        description: 'MinCPURatio is the min of cpu ratio for low
                          level pods, for example: the pod limit is 4096, ratio is
                          10, the minimum is 409. MinCPURatio range [0,100]'
                        format: int32
                        maximum: 100
                        minimum: 0
                        type: integer
                      stepCPURatio:
                        description: StepCPURatio is the step of cpu share and limit
                          for once down-size. StepCPURatio range [0,100]
                        format: int32
                        maximum: 100
                        minimum: 0
                        type: integer
                    type: object
                  memoryThrottle:
                    properties:
                      forceGC:
                        description: ForceGC means force gc page cache for pods with
                          low priority
                        type: boolean
                    type: object
                type: object
            type: object
          status:
            description: AvoidanceActionStatus defines the desired status of AvoidanceAction
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
