package Sah::SchemaR::unix::local_username;

our $DATE = '2021-07-29'; # DATE
our $VERSION = '0.018'; # VERSION

our $rschema = do{my$var={base=>"unix::username",clsets_after_base=>[{description=>"\nSupport coercion from UID.\n\n",prefilters=>["Unix::convert_uid_to_unix_user","Unix::check_unix_user_exists"],summary=>"Unix user name that must exist on the system"}],clsets_after_type=>[{description=>"\nThe checking follows POSIX rules: does not begin with a hyphen and only contains\n[A-Za-z0-9._-].\n\nThe above rule allows integers like 1234, which can be confused with UID, so\nthis schema disallows pure integers.\n\nThe maximum length is 32 following libc6's limit.\n\n",examples=>[{valid=>0,value=>""},{valid=>1,value=>"foo"},{valid=>0,value=>"-andy"},{valid=>0,value=>1234},{valid=>1,value=>"andy2"},{valid=>0,value=>"an dy"},{valid=>1,value=>"an.dy"},{summary=>"Too long",valid=>0,value=>"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}],match=>qr((?=\A[A-Za-z0-9._][A-Za-z0-9._-]{0,31}\z)(?=.*[A-Za-z._-])),max_len=>32,min_len=>1,summary=>"Unix account name"},'$var->{clsets_after_base}[0]'],"clsets_after_type.alt.merge.merged"=>['$var->{clsets_after_type}[0]','$var->{clsets_after_base}[0]'],resolve_path=>["str","unix::username"],type=>"str",v=>2};$var->{clsets_after_type}[1]=$var->{clsets_after_base}[0];$var->{"clsets_after_type.alt.merge.merged"}[0]=$var->{clsets_after_type}[0];$var->{"clsets_after_type.alt.merge.merged"}[1]=$var->{clsets_after_base}[0];$var};

# ABSTRACT: Unix user name that must exist on the system



=encoding UTF-8

=head1 NAME

Sah::SchemaR::unix::local_username - Unix user name that must exist on the system

=head1 VERSION

This document describes version 0.018 of Sah::SchemaR::unix::local_username (from Perl distribution Sah-Schemas-Unix), released on 2021-07-29.


This module is automatically generated by Dist::Zilla::Plugin::Sah::Schemas during distribution build.

A Sah::SchemaR::* module is useful if a client wants to quickly lookup the base type of a schema without having to do any extra resolving. With Sah::Schema::*, one might need to do several lookups if a schema is based on another schema, and so on. Compare for example L<Sah::Schema::poseven> vs L<Sah::SchemaR::poseven>, where in Sah::SchemaR::poseven one can immediately get that the base type is C<int>. Currently L<Perinci::Sub::Complete> uses Sah::SchemaR::* instead of Sah::Schema::* for reduced startup overhead when doing tab completion.


Please visit the project's homepage at L<>.

=head1 SOURCE

Source repository is at L<>.

=head1 BUGS

Please report any bugs or feature requests on the bugtracker website L<>

When submitting a bug or request, please include a test-file or a
patch to an existing test-file that illustrates the bug or desired

=head1 AUTHOR

perlancar <>


This software is copyright (c) 2021, 2020, 2019 by

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.