GitLab::API::v4::Config(3)

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 automatically 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".

  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

  get_options

  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.

SUPPORT
See "SUPPORT" in GitLab::API::v4.

AUTHORS
See "AUTHORS" in GitLab::API::v4.

COPYRIGHT AND LICENSE
See "COPYRIGHT AND LICENSE" in GitLab::API::v4.