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