The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.