NAME
IO::K8s::ApiextensionsApiserver::Pkg::Apis::Apiextensions::V1::JSON - JSON represents any valid JSON value. These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil.
VERSION
version 1.106
DESCRIPTION
apiextensions.k8s.io/v1.JSON is a free-form value: whatever the CRD author wrote for default, example or an enum entry. It serializes as the bare value, not as a wrapper object, so this class only carries the value through inflation and back out again unchanged.
Inflation goes through "struct_to_object" in IO::K8s, which hands any class providing FROM_STRUCT the raw structure instead of treating it as a hashref of attributes.
my $props = $k8s->struct_to_object(
'Apiextensions::V1::JSONSchemaProps',
{ type => 'string', default => 'nginx' },
);
$props->default->value; # 'nginx'
$props->TO_JSON->{default} # 'nginx' — bare, not { value => 'nginx' }
value
The wrapped value. Any Perl structure that survives JSON encoding: a plain scalar, a hashref, an arrayref, a JSON boolean, or undef.
FROM_STRUCT
my $json = $class->FROM_STRUCT($struct, $k8s);
Inflation hook called by "struct_to_object" in IO::K8s. Wraps $struct verbatim.
TO_JSON
Returns the wrapped value unchanged.
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/pplu/io-k8s-p5/issues.
CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
AUTHORS
Torsten Raudssus <getty@cpan.org>
Jose Luis Martinez Torres <jlmartin@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2018-2026 by Jose Luis Martinez Torres <jlmartin@cpan.org>.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004