KubernetesCRDModelGen.SourceGenerator 1.2.0

dotnet add package KubernetesCRDModelGen.SourceGenerator --version 1.2.0
                    
NuGet\Install-Package KubernetesCRDModelGen.SourceGenerator -Version 1.2.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="KubernetesCRDModelGen.SourceGenerator" Version="1.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="KubernetesCRDModelGen.SourceGenerator" Version="1.2.0" />
                    
Directory.Packages.props
<PackageReference Include="KubernetesCRDModelGen.SourceGenerator" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add KubernetesCRDModelGen.SourceGenerator --version 1.2.0
                    
#r "nuget: KubernetesCRDModelGen.SourceGenerator, 1.2.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package KubernetesCRDModelGen.SourceGenerator@1.2.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=KubernetesCRDModelGen.SourceGenerator&version=1.2.0
                    
Install as a Cake Addin
#tool nuget:?package=KubernetesCRDModelGen.SourceGenerator&version=1.2.0
                    
Install as a Cake Tool

KubernetesCRDModelGen

NugetNuget) codecov

What is this?

This project contains components which allow generation of C# Classes/Assemblies from Kubernetes Custom Resource Definitions.

  • KubernetesCRDModelGen
    • Custom Resource Definition to C# Class/Assembly Generator
  • KubernetesCRDModelGen.SourceGenerator
    • Yaml to C# Source Generator
  • KubernetesCRDModelGen.Tool
    • Yaml to C# Class Generator
  • KubernetesCRDModelGen.Sync
    • Synchronizes Custom Resource Definitions from numerous sources

How to use

  • Programmatically
    var crd = KubernetesYaml.LoadAllFromString(yaml);
    var fac = new LoggerFactory();
    var generator = new Generator(fac);
    var code = generator.GenerateCode(crd);
    var assembly = generator.GenerateAssembly(crd)
    
  • CLI
    • Install .Net Tool
      • dotnet tool install --global KubernetesCRDModelGen.Tool
    • Run
      • KubernetesCRDModelGen --FolderPath /path/to/yamls --Namespace Namespace

How to use the Source Generator

Create a C# Class Library Project and add some CRD yaml files to the project. Update the .csproj with the following settings. The Models will be generated in the "KubernetesCRDModelGen.Models.{CRD Group Name}" namespace.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>net10.0</TargetFrameworks>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <LangVersion>latest</LangVersion>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="KubernetesClient" Version="18.0.5" />
    <PackageReference Include="KubernetesCRDModelGen.SourceGenerator" Version="1.*.*" />
  </ItemGroup>

  
  <ItemGroup>
    <AdditionalFiles Include="*.yaml" />

  </ItemGroup>

  
  <ItemGroup>
    
    <CRDYamlSourceUrls>https://app1.com/crd.yaml,https://app2.com/crd.yaml</CRDYamlSourceUrls>

    
    <CRDYamlSourceUrls>https://app1.com/crd.yaml</CRDYamlSourceUrls>
    <CRDYamlSourceUrls>$(CRDYamlSourceUrls),https://app2.com/crd.yaml</CRDYamlSourceUrls>
  </ItemGroup>

</Project>

Published Packages

We publish the following premade packages

Group NuGet
aquasecurity.github.io Link
argoproj.io Link
aws.upbound.io Link
azapi.upbound.io Link
azure.com Link
azure.upbound.io Link
azuread.upbound.io Link
cnrm.cloud.google.com Link
crossplane.io Link
databricks.crossplane.io Link
fluxcd.io Link
gateway.networking.k8s.io Link
gcp.upbound.io Link
helm.crossplane.io Link
istio.io Link
jetstack.io Link
keda.sh Link
knative.dev Link
kubernetes.crossplane.io Link
kubevirt.io Link
opentofu.upbound.io Link
postgresql.cnpg.io Link
projectcalico.org Link
secrets-store.csi.x-k8s.io Link
storage.k8s.io Link
tf.upbound.io Link
traefik.io Link
upbound.io Link
vault.upbound.io Link

Type Mappings

OpenAPIv3 type Type
'object' with Properties object
'object' with AdditionalProperties Dictionary
'object' with x-kubernetes-embedded-type object
'object' with x-kubernetes-preserve-unknown-fields object
'object' with x-kubernetes-int-or-string k8s.Models.IntstrIntOrString
'array' List
'array' with x-kubernetes-list-type=atomic List
'array' with x-kubernetes-list-type=map List
'array' with x-kubernetes-list-type=set List
'boolean' boolean
'number' (all formats) double
'integer' (all formats) int
'integer' with format=int64 long
'null' null
'string' string
'string' with format=binary bytes
'string' with format=byte (base64 encoded) bytes
'string' with format=date timestamp (google.protobuf.Timestamp)
'string' with format=date-time timestamp (google.protobuf.Timestamp)
'string' with format=duration duration (google.protobuf.Duration)
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • .NETStandard 2.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.2.0 69,450 11/15/2025
1.1.2 381 11/11/2025
1.1.1 304 11/11/2025
1.1.0 480 10/20/2025
1.0.1 705 9/25/2025
1.0.0-alpha.624 139 9/25/2025
1.0.0-alpha.623 128 9/25/2025
1.0.0-alpha.622 149 9/25/2025
1.0.0-alpha.621 152 9/24/2025
1.0.0-alpha.620 185 9/24/2025
1.0.0-alpha.619 225 9/23/2025
1.0.0-alpha.618 130 9/23/2025
1.0.0-alpha.617 166 9/20/2025
1.0.0-alpha.616 520 9/18/2025
1.0.0-alpha.615 286 9/17/2025
1.0.0-alpha.614 266 9/17/2025
1.0.0-alpha.613 261 9/17/2025
1.0.0-alpha.612 259 9/16/2025
1.0.0-alpha.611 263 9/16/2025
1.0.0-alpha.610 262 9/16/2025
1.0.0-alpha.609 250 9/16/2025
1.0.0-alpha.608 246 9/15/2025
1.0.0-alpha.607 113 9/12/2025
1.0.0-alpha.606 126 9/9/2025
1.0.0-alpha.605 127 9/9/2025
1.0.0-alpha.604 126 9/8/2025
1.0.0-alpha.603 89 9/5/2025
1.0.0-alpha.602 141 9/4/2025
1.0.0-alpha.601 197 9/3/2025
1.0.0-alpha.600 125 9/2/2025
1.0.0-alpha.599 131 9/2/2025
1.0.0-alpha.598 176 8/29/2025
1.0.0-alpha.597 183 8/27/2025
1.0.0-alpha.596 175 8/27/2025
1.0.0-alpha.595 177 8/26/2025
1.0.0-alpha.594 175 8/26/2025
1.0.0-alpha.593 200 8/26/2025
1.0.0-alpha.592 210 8/26/2025
1.0.0-alpha.591 162 8/25/2025
1.0.0-alpha.590 216 8/24/2025
1.0.0-alpha.589 125 8/20/2025
1.0.0-alpha.588 126 8/20/2025
1.0.0-alpha.587 127 8/20/2025
1.0.0-alpha.586 321 8/20/2025
1.0.0-alpha.585 127 8/20/2025
1.0.0-alpha.584 135 8/19/2025
1.0.0-alpha.583 133 8/18/2025
1.0.0-alpha.582 128 8/18/2025
1.0.0-alpha.581 160 8/18/2025
1.0.0-alpha.580 128 8/18/2025
1.0.0-alpha.579 127 8/18/2025
1.0.0-alpha.578 134 8/17/2025
1.0.0-alpha.577 132 8/17/2025
1.0.0-alpha.326 6,717 9/19/2024
1.0.0-alpha.324 212 9/18/2024
1.0.0-alpha.323 273 9/17/2024
1.0.0-alpha.322 240 9/14/2024
1.0.0-alpha.321 301 9/10/2024
1.0.0-alpha.319 227 9/5/2024
1.0.0-alpha.318 239 9/3/2024
1.0.0-alpha.317 244 8/29/2024
1.0.0-alpha.316 203 8/29/2024
1.0.0-alpha.315 250 8/22/2024
1.0.0-alpha.314 243 8/22/2024
1.0.0-alpha.313 378 8/17/2024
1.0.0-alpha.312 230 8/16/2024
1.0.0-alpha.310 252 8/15/2024
1.0.0-alpha.309 28,365 8/14/2024
1.0.0-alpha.308 248 8/13/2024
1.0.0-alpha.307 233 8/13/2024
1.0.0-alpha.306 234 8/13/2024
1.0.0-alpha.305 248 8/13/2024
1.0.0-alpha.304 241 8/13/2024
1.0.0-alpha.303 229 8/12/2024
1.0.0-alpha.302 209 8/12/2024
1.0.0-alpha.301 220 8/8/2024
1.0.0-alpha.300 204 8/7/2024
1.0.0-alpha.299 332 8/6/2024
1.0.0-alpha.298 211 8/6/2024
1.0.0-alpha.297 198 8/5/2024
1.0.0-alpha.296 807 8/3/2024
1.0.0-alpha.295 211 8/1/2024
1.0.0-alpha.294 208 8/1/2024
1.0.0-alpha.293 198 7/31/2024
1.0.0-alpha.292 215 7/30/2024
1.0.0-alpha.291 225 7/29/2024
1.0.0-alpha.290 247 7/26/2024
1.0.0-alpha.289 214 7/25/2024
1.0.0-alpha.288 198 7/23/2024
1.0.0-alpha.287 208 7/23/2024
1.0.0-alpha.286 225 7/23/2024
1.0.0-alpha.285 258 7/19/2024
1.0.0-alpha.284 241 7/19/2024
1.0.0-alpha.283 236 7/19/2024
1.0.0-alpha.282 230 7/19/2024
1.0.0-alpha.281 220 7/19/2024
1.0.0-alpha.280 221 7/19/2024
1.0.0-alpha.278 1,864 2/13/2024
1.0.0-alpha.277 253 2/12/2024
1.0.0-alpha.276 221 2/8/2024
1.0.0-alpha.275 246 2/7/2024
1.0.0-alpha.274 298 2/5/2024
1.0.0-alpha.273 224 2/1/2024
1.0.0-alpha.272 232 1/24/2024
1.0.0-alpha.271 218 1/23/2024
1.0.0-alpha.270 224 1/19/2024
1.0.0-alpha.269 284 1/16/2024
1.0.0-alpha.268 254 1/13/2024
1.0.0-alpha.267 281 1/9/2024
1.0.0-alpha.266 234 1/6/2024
1.0.0-alpha.265 252 12/27/2023
1.0.0-alpha.264 232 12/26/2023
1.0.0-alpha.263 250 12/19/2023
1.0.0-alpha.262 228 12/19/2023
1.0.0-alpha.261 240 12/19/2023
1.0.0-alpha.260 225 12/18/2023
1.0.0-alpha.259 228 12/15/2023
1.0.0-alpha.258 220 12/15/2023
1.0.0-alpha.257 219 12/14/2023
1.0.0-alpha.256 244 12/13/2023
1.0.0-alpha.255 206 12/13/2023
1.0.0-alpha.254 242 12/12/2023
1.0.0-alpha.253 218 12/12/2023
1.0.0-alpha.252 216 12/11/2023
1.0.0-alpha.251 214 12/11/2023
1.0.0-alpha.250 225 12/8/2023
1.0.0-alpha.249 247 12/7/2023
1.0.0-alpha.248 208 12/7/2023
1.0.0-alpha.247 213 12/5/2023
1.0.0-alpha.246 223 12/4/2023
1.0.0-alpha.245 213 11/29/2023
1.0.0-alpha.244 202 11/28/2023
1.0.0-alpha.243 197 11/28/2023
1.0.0-alpha.242 199 11/28/2023
1.0.0-alpha.241 227 11/28/2023
1.0.0-alpha.240 239 11/27/2023
1.0.0-alpha.239 209 11/27/2023
1.0.0-alpha.238 244 11/25/2023
1.0.0-alpha.237 238 11/21/2023
1.0.0-alpha.236 227 11/21/2023
1.0.0-alpha.235 231 11/20/2023
1.0.0-alpha.234 234 11/17/2023
1.0.0-alpha.233 204 11/16/2023
1.0.0-alpha.232 224 11/15/2023
1.0.0-alpha.231 208 11/13/2023
1.0.0-alpha.230 218 11/10/2023
1.0.0-alpha.229 209 11/7/2023
1.0.0-alpha.228 210 11/6/2023
1.0.0-alpha.227 212 11/1/2023
1.0.0-alpha.226 214 10/31/2023
1.0.0-alpha.225 220 10/30/2023
1.0.0-alpha.224 218 10/30/2023
1.0.0-alpha.223 217 10/26/2023
1.0.0-alpha.222 230 10/25/2023
1.0.0-alpha.221 206 10/25/2023
1.0.0-alpha.220 233 10/24/2023
1.0.0-alpha.219 241 10/24/2023
1.0.0-alpha.218 227 10/24/2023
1.0.0-alpha.217 212 10/23/2023
1.0.0-alpha.216 223 10/20/2023
1.0.0-alpha.215 256 10/20/2023
1.0.0-alpha.214 225 10/19/2023
1.0.0-alpha.213 218 10/18/2023
1.0.0-alpha.212 247 10/18/2023
1.0.0-alpha.211 236 10/18/2023
1.0.0-alpha.210 220 10/18/2023
1.0.0-alpha.209 244 10/17/2023
1.0.0-alpha.208 242 10/17/2023
1.0.0-alpha.207 242 10/17/2023
1.0.0-alpha.206 255 10/15/2023
1.0.0-alpha.205 221 10/15/2023
1.0.0-alpha.204 225 10/13/2023
1.0.0-alpha.203 252 10/12/2023
1.0.0-alpha.202 220 10/12/2023
1.0.0-alpha.201 234 10/11/2023
1.0.0-alpha.200 229 10/10/2023
1.0.0-alpha.199 225 10/4/2023
1.0.0-alpha.198 245 10/3/2023
1.0.0-alpha.197 234 10/3/2023
1.0.0-alpha.196 220 9/28/2023
1.0.0-alpha.195 223 9/28/2023
1.0.0-alpha.194 251 9/28/2023
1.0.0-alpha.193 238 9/28/2023
1.0.0-alpha.192 224 9/28/2023
1.0.0-alpha.191 213 9/28/2023
1.0.0-alpha.190 232 9/27/2023
1.0.0-alpha.189 225 9/27/2023
1.0.0-alpha.188 241 9/27/2023
1.0.0-alpha.187 247 9/26/2023
1.0.0-alpha.186 237 9/26/2023
1.0.0-alpha.185 231 9/25/2023
1.0.0-alpha.184 229 9/25/2023
1.0.0-alpha.183 242 9/22/2023
1.0.0-alpha.182 256 9/22/2023
1.0.0-alpha.181 206 9/21/2023
1.0.0-alpha.180 242 9/19/2023
1.0.0-alpha.179 242 9/14/2023
1.0.0-alpha.178 253 9/13/2023
1.0.0-alpha.177 238 9/12/2023
1.0.0-alpha.176 260 9/11/2023
1.0.0-alpha.175 261 9/11/2023
1.0.0-alpha.174 253 9/7/2023
1.0.0-alpha.173 248 9/7/2023
1.0.0-alpha.172 239 9/7/2023
1.0.0-alpha.171 258 9/6/2023
1.0.0-alpha.170 244 9/6/2023
1.0.0-alpha.169 279 9/6/2023
1.0.0-alpha.168 269 9/5/2023
1.0.0-alpha.167 273 9/5/2023
1.0.0-alpha.166 247 9/5/2023
1.0.0-alpha.165 256 9/1/2023
1.0.0-alpha.164 246 9/1/2023
1.0.0-alpha.163 253 8/29/2023
1.0.0-alpha.162 250 8/29/2023
1.0.0-alpha.161 279 8/28/2023
1.0.0-alpha.160 267 8/25/2023
1.0.0-alpha.159 244 8/24/2023
1.0.0-alpha.158 244 8/23/2023
1.0.0-alpha.157 244 8/23/2023
1.0.0-alpha.156 241 8/21/2023
1.0.0-alpha.155 248 8/17/2023
1.0.0-alpha.154 253 8/15/2023
1.0.0-alpha.153 294 8/11/2023
1.0.0-alpha.152 262 8/11/2023
1.0.0-alpha.151 260 8/10/2023
1.0.0-alpha.150 291 8/8/2023
1.0.0-alpha.149 260 8/3/2023
1.0.0-alpha.148 289 7/31/2023
1.0.0-alpha.147 254 7/31/2023
1.0.0-alpha.146 254 7/31/2023
1.0.0-alpha.145 249 7/31/2023
1.0.0-alpha.144 281 7/31/2023
1.0.0-alpha.143 259 7/28/2023
1.0.0-alpha.142 272 7/27/2023
1.0.0-alpha.141 267 7/26/2023
1.0.0-alpha.140 259 7/26/2023
1.0.0-alpha.139 280 7/25/2023
1.0.0-alpha.138 297 7/25/2023
1.0.0-alpha.137 259 7/24/2023
1.0.0-alpha.136 266 7/21/2023
1.0.0-alpha.135 258 7/21/2023
1.0.0-alpha.134 281 7/20/2023
1.0.0-alpha.133 270 7/20/2023
1.0.0-alpha.132 309 7/20/2023
1.0.0-alpha.131 264 7/20/2023
1.0.0-alpha.130 262 7/20/2023
1.0.0-alpha.129 266 7/20/2023
1.0.0-alpha.128 291 7/19/2023
1.0.0-alpha.127 269 7/13/2023
1.0.0-alpha.126 274 7/12/2023
1.0.0-alpha.125 260 7/12/2023
1.0.0-alpha.124 262 7/11/2023
1.0.0-alpha.123 258 7/11/2023
1.0.0-alpha.122 261 7/11/2023
1.0.0-alpha.121 258 7/11/2023
1.0.0-alpha.120 277 7/7/2023
1.0.0-alpha.119 262 6/22/2023
1.0.0-alpha.118 282 6/21/2023
1.0.0-alpha.117 254 6/21/2023
1.0.0-alpha.116 282 6/21/2023
1.0.0-alpha.115 255 6/21/2023
1.0.0-alpha.114 259 6/20/2023
1.0.0-alpha.113 280 6/16/2023
1.0.0-alpha.112 296 6/12/2023
1.0.0-alpha.111 278 6/12/2023
1.0.0-alpha.110 269 6/12/2023
1.0.0-alpha.109 273 6/12/2023
1.0.0-alpha.108 272 6/9/2023
1.0.0-alpha.107 289 6/9/2023
1.0.0-alpha.106 281 5/31/2023
1.0.0-alpha.105 291 5/30/2023
1.0.0-alpha.104 268 5/27/2023
1.0.0-alpha.103 270 5/24/2023
1.0.0-alpha.102 301 5/20/2023
1.0.0-alpha.101 278 5/18/2023
1.0.0-alpha.99 276 5/10/2023
1.0.0-alpha.98 301 5/10/2023
1.0.0-alpha.97 306 5/5/2023
1.0.0-alpha.96 305 5/2/2023
1.0.0-alpha.95 284 5/2/2023
1.0.0-alpha.94 293 4/29/2023
1.0.0-alpha.93 303 4/24/2023
1.0.0-alpha.92 310 4/19/2023
1.0.0-alpha.91 290 4/18/2023
1.0.0-alpha.90 279 4/18/2023
1.0.0-alpha.89 286 4/18/2023
1.0.0-alpha.88 274 4/17/2023
1.0.0-alpha.87 288 4/16/2023
1.0.0-alpha.86 295 4/16/2023
1.0.0-alpha.85 298 4/16/2023
1.0.0-alpha.84 334 1/23/2023
1.0.0-alpha.83 304 1/20/2023
1.0.0-alpha.82 304 1/19/2023
1.0.0-alpha.81 317 1/18/2023
1.0.0-alpha.80 299 1/17/2023
1.0.0-alpha.79 340 1/16/2023
1.0.0-alpha.78 301 1/13/2023
1.0.0-alpha.76 304 1/8/2023
1.0.0-alpha.75 309 1/6/2023
1.0.0-alpha.74 301 1/2/2023
1.0.0-alpha.73 334 1/2/2023
1.0.0-alpha.72 304 1/1/2023
1.0.0-alpha.71 310 12/30/2022
1.0.0-alpha.70 331 12/30/2022
1.0.0-alpha.69 303 12/30/2022
1.0.0-alpha.68 333 12/29/2022
1.0.0-alpha.67 307 12/28/2022
1.0.0-alpha.66 325 12/28/2022
1.0.0-alpha.65 320 12/27/2022
1.0.0-alpha.64 297 12/23/2022
1.0.0-alpha.63 303 12/22/2022
1.0.0-alpha.62 303 12/21/2022
1.0.0-alpha.61 300 12/20/2022
1.0.0-alpha.60 325 12/19/2022
1.0.0-alpha.59 302 12/17/2022
1.0.0-alpha.58 295 12/16/2022
1.0.0-alpha.57 291 12/16/2022
1.0.0-alpha.56 319 12/15/2022
1.0.0-alpha.55 339 12/14/2022
1.0.0-alpha.54 341 12/13/2022
1.0.0-alpha.53 296 12/13/2022
1.0.0-alpha.52 324 12/12/2022
1.0.0-alpha.51 321 12/10/2022
1.0.0-alpha.50 301 12/10/2022
1.0.0-alpha.49 318 12/9/2022
1.0.0-alpha.48 315 12/9/2022
1.0.0-alpha.47 319 12/7/2022
1.0.0-alpha.46 299 12/6/2022
1.0.0-alpha.45 290 12/6/2022
1.0.0-alpha.44 331 12/3/2022
1.0.0-alpha.43 294 12/1/2022
1.0.0-alpha.42 319 12/1/2022
1.0.0-alpha.41 299 12/1/2022
1.0.0-alpha.40 291 11/30/2022
1.0.0-alpha.39 329 11/29/2022
1.0.0-alpha.38 295 11/29/2022
1.0.0-alpha.37 301 11/28/2022
1.0.0-alpha.36 301 11/28/2022
1.0.0-alpha.35 295 11/28/2022
1.0.0-alpha.34 298 11/28/2022
1.0.0-alpha.33 303 11/24/2022
1.0.0-alpha.32 296 11/20/2022
1.0.0-alpha.31 296 11/18/2022
1.0.0-alpha.30 296 11/18/2022
1.0.0-alpha.29 325 11/18/2022
1.0.0-alpha.28 335 11/17/2022
1.0.0-alpha.27 343 10/25/2022
1.0.0-alpha.25 336 10/23/2022
1.0.0-alpha.24 350 10/22/2022
1.0.0-alpha.23 322 10/22/2022
1.0.0-alpha.22 331 10/21/2022
1.0.0-alpha.21 345 10/21/2022
1.0.0-alpha.20 335 10/21/2022
1.0.0-alpha.19 309 10/21/2022
1.0.0-alpha.18 327 10/13/2022
1.0.0-alpha.17 337 10/4/2022
1.0.0-alpha.16 326 9/28/2022
1.0.0-alpha.15 336 9/27/2022
1.0.0-alpha.14 320 9/20/2022
1.0.0-alpha.13 342 9/16/2022
1.0.0-alpha.12 327 9/1/2022
1.0.0-alpha.11 307 8/29/2022
1.0.0-alpha.10 336 8/27/2022
1.0.0-alpha.9 351 8/25/2022
1.0.0-alpha.8 345 8/23/2022
1.0.0-alpha.7 342 8/19/2022
1.0.0-alpha.6 323 8/18/2022
1.0.0-alpha.5 314 8/18/2022
1.0.0-alpha.4 319 8/18/2022
1.0.0-alpha.3 323 8/18/2022
1.0.0-alpha.2 317 8/18/2022
1.0.0-alpha.1 612 8/18/2022