Comments (3)
This is fantastic. Thank you very much :)
from dotnet-kube-client.
Hi - this is fairly easy to do if you've already defined your resource type. There's an additional package called KubeClient.Extensions.CustomResources
that defines a base class for your resource type.
Once you have defined your specification model (the bit that goes under spec
in the JSON), you can define your resource model:
public enum ThingState
{
Draft,
Final
}
public class MyResourceSpecV1
{
[JsonProperty("thingState")]
[YamlMember(Name="thingState")]
public ThingState ThingState { get; set; }
[YamlMember(Name="thingSizes")]
[JsonProperty("thingSizes", DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public List<string> ThingSizes { get; set; }
}
[KubeObject("Pod", "things.example.com/v1")]
public class MyResourceV1
: KubeCustomResourceV1<MyResourceSpecV1>
{
}
You can then follow the steps under Extensibility to create a client for working with your resources.
Note that your code can live in its own library - the client is designed so you can layer additional models and clients on top of the existing ones regardless of where they live.
from dotnet-kube-client.
Oh, and the DefaultValueHandling
stuff is mainly to do with whether or not you want to send default (usually null
) values when calling your API. If you use DefaultValueHandling.IgnoreAndPopulate
, then the field is omitted from the JSON when serialising. If you use DefaultValueHandling.Include
, then the field is included in the JSON with a null
value.
from dotnet-kube-client.
Related Issues (20)
- Project direction / contributions HOT 7
- How is the ApiEndPoint configured for this parameter HOT 5
- Can I debug and load configMap locally? HOT 26
- IEventClientV1 fails to convert time value HOT 15
- Error while trying to create HorizontalPodAutoscaler with DynamicResourceClient HOT 7
- Aysnc methods on resource clients do not use standard Async naming conventions HOT 3
- Access full details of STATUS column from "kubectl get pod" HOT 1
- No authentication needed for url HOT 2
- KubeClient.Models.ObjectMetaV1.Annotations Should not be read-only
- Metadata doesn't get built for write-only models HOT 3
- WatchAll is missing for some resources HOT 4
- Field selectors for pods not implemented HOT 6
- Credential Plugins (AKS / AAD) Support HOT 1
- Detect current Pod namespace HOT 4
- Cannot find resource API for kind for Istio CRD HOT 6
- Upgrade to a newer version of YamlDotNet HOT 1
- CVE-2018-8292 | System.Net.Http HOT 2
- ExecAndConnect example yields 403 Forbidden HOT 1
- Cannot get output when using ExecAndConnect HOT 3
- Periods in ConfigMap keys get replaced by colons without any possibility of escape. HOT 7
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 dotnet-kube-client.