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.