Provided by: libgitlab-api-v4-perl_0.04-2_all
NAME
GitLab::API::v4::Config - Load configuration from a file, environment, and/or CLI options.
SYNOPSIS
use GitLab::API::v4; use GitLab::API::v4::Config; my $config = GitLab::API::v4::Config->new(); my $api = GitLab::API::v4->new( $config->args() );
DESCRIPTION
This module is used by gitlab-api-v4 to load configuration. If you are using GitLab::API::v4 directly then this module will not be automaticaly used, but you are welcome to explicitly use it as shown in the "SYNOPSIS".
ARGUMENTS
file The file to load configuration from. The file should hold valid JSON. By default this will be set to ".gitlab-api-v4-config" in the current user's home directory. This can be overridden with the "GITLAB_API_V4_CONFIG_FILE" environment variable or the "--config-file=..." command line argument.
ATTRIBUTES
opt_args Returns a hashref of arguments derived from command line options. Supported options are: --config_file=... --url=... --private-token=... --access-token=... --retries=... Note that the options are read from, and removed from, @ARGV. Due to this the arguments are saved internally and re-used for all instances of this class so that there are no weird race conditions. env_args Returns a hashref of arguments derived from environment variables. Supported environment variables are: GITLAB_API_V4_CONFIG_FILE GITLAB_API_V4_URL GITLAB_API_V4_PRIVATE_TOKEN GITLAB_API_V4_ACCESS_TOKEN GITLAB_API_V4_RETRIES file_args Returns a hashref of arguments gotten by decoding the JSON in the "file". Note that the file is re-read every time you call this attribute (or the "args" attribute). args Returns a final, combined, hashref of arguments containing everything in "opt_args", "env_args", and "file_args". If there are any duplicate arguments then "opt_args" has highest precedence, "env_args" is next, and at the bottom is "file_args".
METHODS
configure When called this method interactively prompts the user for argument values and then encodes them as JSON and stores them in "file". The file will be chmod'ed 0600 so that only the current user may read or write to the file.
AUTHORS
See "AUTHOR" in GitLab::API::v4 and "CONTRIBUTORS" in GitLab::API::v4.
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.