diff --git a/jobs/generators/k8s/default.nix b/jobs/generators/k8s/default.nix index 678ed82..43ec4b9 100644 --- a/jobs/generators/k8s/default.nix +++ b/jobs/generators/k8s/default.nix @@ -138,7 +138,10 @@ with lib; let type = requiredOrNot (mapType swagger.definitions.${refDefinition property}); } else { - type = requiredOrNot (submoduleOf definitions (refDefinition property)); + type = + if (refDefinition property) == _name + then types.unspecified # do not allow self-referential values + else requiredOrNot (submoduleOf definitions (refDefinition property)); } # if property has an array type else if property.type == "array" @@ -165,7 +168,10 @@ with lib; let } # in other case it's a simple list else { - type = requiredOrNot (types.listOf (submoduleOf definitions (refDefinition property.items))); + type = + if (refDefinition property.items) == _name + then types.unspecified # do not allow self-referential values + else requiredOrNot (types.listOf (submoduleOf definitions (refDefinition property.items))); } # in other case it only references a simple type else { diff --git a/modules/generated/v1.19.nix b/modules/generated/v1.19.nix index b01655a..3510ef1 100644 --- a/modules/generated/v1.19.nix +++ b/modules/generated/v1.19.nix @@ -16603,11 +16603,11 @@ let }; "allOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "anyOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "default" = mkOption { description = "default is a default value for undefined object fields. Defaulting is a beta feature under the CustomResourceDefaulting feature gate. Defaulting requires spec.preserveUnknownFields to be false."; @@ -16695,7 +16695,7 @@ let }; "not" = mkOption { description = ""; - type = (types.nullOr (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps")); + type = types.unspecified; }; "nullable" = mkOption { description = ""; @@ -16703,7 +16703,7 @@ let }; "oneOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "pattern" = mkOption { description = ""; @@ -17307,11 +17307,11 @@ let }; "allOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps"))); + type = types.unspecified; }; "anyOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps"))); + type = types.unspecified; }; "default" = mkOption { description = "default is a default value for undefined object fields. Defaulting is a beta feature under the CustomResourceDefaulting feature gate. CustomResourceDefinitions with defaults must be created using the v1 (or newer) CustomResourceDefinition API."; @@ -17399,7 +17399,7 @@ let }; "not" = mkOption { description = ""; - type = (types.nullOr (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps")); + type = types.unspecified; }; "nullable" = mkOption { description = ""; @@ -17407,7 +17407,7 @@ let }; "oneOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps"))); + type = types.unspecified; }; "pattern" = mkOption { description = ""; diff --git a/modules/generated/v1.20.nix b/modules/generated/v1.20.nix index e29ffce..214ab87 100644 --- a/modules/generated/v1.20.nix +++ b/modules/generated/v1.20.nix @@ -17511,11 +17511,11 @@ let }; "allOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "anyOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "default" = mkOption { description = "default is a default value for undefined object fields. Defaulting is a beta feature under the CustomResourceDefaulting feature gate. Defaulting requires spec.preserveUnknownFields to be false."; @@ -17603,7 +17603,7 @@ let }; "not" = mkOption { description = ""; - type = (types.nullOr (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps")); + type = types.unspecified; }; "nullable" = mkOption { description = ""; @@ -17611,7 +17611,7 @@ let }; "oneOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "pattern" = mkOption { description = ""; @@ -18215,11 +18215,11 @@ let }; "allOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps"))); + type = types.unspecified; }; "anyOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps"))); + type = types.unspecified; }; "default" = mkOption { description = "default is a default value for undefined object fields. Defaulting is a beta feature under the CustomResourceDefaulting feature gate. CustomResourceDefinitions with defaults must be created using the v1 (or newer) CustomResourceDefinition API."; @@ -18307,7 +18307,7 @@ let }; "not" = mkOption { description = ""; - type = (types.nullOr (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps")); + type = types.unspecified; }; "nullable" = mkOption { description = ""; @@ -18315,7 +18315,7 @@ let }; "oneOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps"))); + type = types.unspecified; }; "pattern" = mkOption { description = ""; diff --git a/modules/generated/v1.21.nix b/modules/generated/v1.21.nix index 45dafb0..2695fb8 100644 --- a/modules/generated/v1.21.nix +++ b/modules/generated/v1.21.nix @@ -17663,11 +17663,11 @@ let }; "allOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "anyOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "default" = mkOption { description = "default is a default value for undefined object fields. Defaulting is a beta feature under the CustomResourceDefaulting feature gate. Defaulting requires spec.preserveUnknownFields to be false."; @@ -17755,7 +17755,7 @@ let }; "not" = mkOption { description = ""; - type = (types.nullOr (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps")); + type = types.unspecified; }; "nullable" = mkOption { description = ""; @@ -17763,7 +17763,7 @@ let }; "oneOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "pattern" = mkOption { description = ""; @@ -18367,11 +18367,11 @@ let }; "allOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps"))); + type = types.unspecified; }; "anyOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps"))); + type = types.unspecified; }; "default" = mkOption { description = "default is a default value for undefined object fields. Defaulting is a beta feature under the CustomResourceDefaulting feature gate. CustomResourceDefinitions with defaults must be created using the v1 (or newer) CustomResourceDefinition API."; @@ -18459,7 +18459,7 @@ let }; "not" = mkOption { description = ""; - type = (types.nullOr (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps")); + type = types.unspecified; }; "nullable" = mkOption { description = ""; @@ -18467,7 +18467,7 @@ let }; "oneOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps"))); + type = types.unspecified; }; "pattern" = mkOption { description = ""; diff --git a/modules/generated/v1.22.nix b/modules/generated/v1.22.nix index 977bda2..b71fcc3 100644 --- a/modules/generated/v1.22.nix +++ b/modules/generated/v1.22.nix @@ -15162,11 +15162,11 @@ let }; "allOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "anyOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "default" = mkOption { description = "default is a default value for undefined object fields. Defaulting is a beta feature under the CustomResourceDefaulting feature gate. Defaulting requires spec.preserveUnknownFields to be false."; @@ -15254,7 +15254,7 @@ let }; "not" = mkOption { description = ""; - type = (types.nullOr (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps")); + type = types.unspecified; }; "nullable" = mkOption { description = ""; @@ -15262,7 +15262,7 @@ let }; "oneOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "pattern" = mkOption { description = ""; diff --git a/modules/generated/v1.23.nix b/modules/generated/v1.23.nix index 2de0af7..f0d8636 100644 --- a/modules/generated/v1.23.nix +++ b/modules/generated/v1.23.nix @@ -15780,11 +15780,11 @@ let }; "allOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "anyOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "default" = mkOption { description = "default is a default value for undefined object fields. Defaulting is a beta feature under the CustomResourceDefaulting feature gate. Defaulting requires spec.preserveUnknownFields to be false."; @@ -15872,7 +15872,7 @@ let }; "not" = mkOption { description = ""; - type = (types.nullOr (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps")); + type = types.unspecified; }; "nullable" = mkOption { description = ""; @@ -15880,7 +15880,7 @@ let }; "oneOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "pattern" = mkOption { description = ""; diff --git a/modules/generated/v1.24.nix b/modules/generated/v1.24.nix index 5bb237c..5b87878 100644 --- a/modules/generated/v1.24.nix +++ b/modules/generated/v1.24.nix @@ -15705,11 +15705,11 @@ let }; "allOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "anyOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "default" = mkOption { description = "default is a default value for undefined object fields. Defaulting is a beta feature under the CustomResourceDefaulting feature gate. Defaulting requires spec.preserveUnknownFields to be false."; @@ -15797,7 +15797,7 @@ let }; "not" = mkOption { description = ""; - type = (types.nullOr (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps")); + type = types.unspecified; }; "nullable" = mkOption { description = ""; @@ -15805,7 +15805,7 @@ let }; "oneOf" = mkOption { description = ""; - type = (types.nullOr (types.listOf (submoduleOf "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps"))); + type = types.unspecified; }; "pattern" = mkOption { description = "";