Comments (2)
Currently, I think we will error out, or omit enum parts of the schema.
Current behavior is to omit the enum part, and just treat it (in this example) as a simple String.
operator:
enum:
- In
- NotIn
- Exists
- DoesNotExist
type: string
becomes
pub operator: String,
A complete example can be found in the Linkerd 2.11 ServerAuthorization
and Server
CRDs (at least, as generated by their helm chart). I've saved the generated one in a gist, since I can't find an official download of a pre-generated CRD.
https://gist.github.com/alex-hunt-materialize/2743b1e2e58a49c4df0a11ecb39f46ab
These CRDs actually have several issues with the current generation, but I'll make separate issues for those.
from kopium.
Handling simple enum's like this turns out not to be particularly difficult. Provided there are no other cases that can set type
to something else or leave it unset, this will be handled by #65. The more complex enums using oneOf
is going to be more complicated (and will open some follow-ups), but will try to use the ServiceMonitor
as acceptance criteria for this issue as it only has a simple enum.
from kopium.
Related Issues (20)
- alertmanager crd crashes on empty enum string crd HOT 1
- allow eliding output from problematic containers
- Include a comment with the arguments to kopium in the generated code itself
- Running kopium with `--hide-kube` still includes a derive for `CustomResource` HOT 1
- Top level enums are not handled
- Add support for cargo-binstall HOT 1
- Address clippy fixes in the generated documentation HOT 1
- Argo-Workflows crd's not working HOT 2
- Types with Underscore not converted to CamelCase
- Kopium skips generating types which are then not referencable
- Use `indoc` for analyzer test cases
- Document Unstable Rust HOT 1
- duplicate fields generated HOT 7
- panic for invalid field name HOT 1
- Use `k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition` instead of generating a new API HOT 8
- kopium do not generate struct with nesting additionalProperties HOT 7
- Codegen for standard Condition structure broken when running with hide-prelude HOT 2
- Generated serde model of apiextensionsv1.JSON does not support empty string value
- Should enums always implement PartialEq, Eq, PartialOrd, Ord? HOT 7
- Passing `--derive Default` does not derive it for top level custom resource HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kopium.