Skip to content

Feat: Handle less common types #38

Description

@jboxman

Such as Ceph uses. Some of these show up as undefined or an empty string. Support for enum does not yet exist. Nor format nor max nor min.

    "io.rook.ceph.v1.CephBlockPool": {
      "type": "object",
      "required": [
        "metadata",
        "spec"
      ],
      "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": {
          "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
          "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta_v2"
        },
        "spec": {
          "type": "object",
          "properties": {
            "compressionMode": {
              "enum": [
                "none",
                "passive",
                "aggressive",
                "force",
                ""
              ]
            },
            "crushRoot": {},
            "deviceClass": {},
            "enableRBDStats": {
              "type": "boolean"
            },
            "erasureCoded": {
              "type": "object",
              "required": [
                "codingChunks",
                "dataChunks"
              ],
              "properties": {
                "algorithm": {
                  "type": "string"
                },
                "codingChunks": {
                  "type": "integer",
                  "maximum": 9,
                  "minimum": 0
                },
                "dataChunks": {
                  "type": "integer",
                  "maximum": 9,
                  "minimum": 0
                }
              }
            },
            "failureDomain": {
              "type": "string"
            },
            "mirroring": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "mode": {
                  "type": "string"
                },
                "snapshotSchedules": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "interval": {
                        "type": "string"
                      },
                      "startTime": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            },
            "parameters": {
              "additionalProperties": {
                "type": "string"
              },
              "x-kubernetes-preserve-unknown-fields": true
            },
            "quotas": {},
            "replicated": {
              "type": "object",
              "required": [
                "size"
              ],
              "properties": {
                "replicasPerFailureDomain": {
                  "type": "integer",
                  "minimum": 1
                },
                "requireSafeReplicaSize": {
                  "type": "boolean"
                },
                "size": {
                  "type": "integer",
                  "minimum": 0
                },
                "subFailureDomain": {
                  "type": "string"
                },
                "targetSizeRatio": {
                  "type": "number"
                }
              }
            },
            "statusCheck": {
              "x-kubernetes-preserve-unknown-fields": true
            }
          }
        },
        "status": {
          "x-kubernetes-preserve-unknown-fields": true
        }
      },
      "x-kubernetes-group-version-kind": [
        {
          "group": "ceph.rook.io",
          "kind": "CephBlockPool",
          "version": "v1"
        }
      ]
    },

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions