NAME
IO::K8s - Objects representing things found in the Kubernetes API
SYNOPSIS
use IO::K8s
my $k8s = IO::K8s->new;
my $object = $k8s->json_to_object('IO::K8s::Api::Core::V1::Service', '{"kind":"Service"}');
# $object is an IO::K8s::Api::Core::V1::Service object
my $json = $k8s->object_to_json($object);
# $json is JSON that we can send to the Kubernetes API
my $object = $k8s->struct_to_object('IO::K8s::Api::Core::V1::Service', { kind => 'Service' });
# $object is an IO::K8s::Api::Core::V1::Service object
my $struct = $k8s->object_to_struct($object);
# $struct is a hashref that can be transformed to JSON
DESCRIPTION
This module is the set of objects and serialization / deserialization methods that represent the structures found inside the Kubernetes API https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/
Kubernetes API is very strict about the input it accepts. When a value is expected to be an integer, if it's sent as a string with a number inside, it won't get accepted by the API. This module helps you get the correct value types in the JSON that can later be sent to Kubernetes.
Another use case is inflating the JSON returned by Kubernetes into objects.
SEE ALSO
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/
AUTHOR
Jose Luis Martinez
CAPSiDE
jlmartinez@capside.com
BUGS and SOURCE
The source code is located here: https://github.com/pplu/io-k8s-p5
Please report bugs to: https://github.com/pplu/io-k8s-p5/issues
COPYRIGHT and LICENSE
Copyright (c) 2018 by CAPSiDE
This code is distributed under the Apache 2 License. The full text of the license can be found in the LICENSE file included with this module.