IPM parameters
An overview of all IPM parameters
The IPM client has a number of main verbs that can be used to interact with the IPMHub and get your project up and running.
Main verbs:
account
: Display current user informationadd
: Add packages to your workspacebuild
: Prepare package contents from a source directorycache
: Manage the IPM client cacheconfig
: Configure the IPM clientexport
: Export a package to a local folderinfo
: Get package informationinit
: Initialize a local workspacelist
: List available packageslogin
: Authenticate with IPMHublogout
: End the current sessionpublish
: Publish a new package versionsearch
: Find packagesstatus
: Check workspace statussync
: Synchronize your workspace
Account
Return the current user and the remaining lifetime of the current session.
Examples
ipm account
Required parameters
This command has no required parameters
Optional parameters
--config -c
Specifies the filename for the application configuration.
Default: If left empty, the default configuration file will be used.
--help
Displays the help documentation for this verb.
--language
The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information
--loglevel
Minimum level of the log messages that will be written to the log file. Valid options are Trace
| Debug
| Info
| Warn
| Error
| Fatal
. If left empty, the default will be used.
(Default: Error)
--version
Returns the version information of the ipm application
Add
Add and download a package directly in the workspace
Syntax
ipm add --package packageowner/packagename
[--version]
[--folder]
[--strategy]
[--workspace]
[--non-interactive]
[--client-secrets]
Or add multiple packages in a single command:
ipm add --packages packageowner/package1 packageowner/package2
[--folder]
[--strategy]
[--workspace]
[--non-interactive]
[--client-secrets]
Examples
Add latest version of package MyPackage to the workspace:
ipm add --package mycompany/MyPackage
Add version 1.2.3 of package MyPackage to the workspace:
ipm add --package mycompany/MyPackage --version 1.2.3
Add package MyPackage to the workspace but place it in OtherLocation. This overwrites the default workspace setting set in ipmhub.json
:
ipm add --package mycompany/MyPackage --folder OtherLocation
Add package MyPackage to the workspace with download strategy set to single. This overwrites the default strategy setting set in ipmhub.json
:
ipm add --package mycompany/MyPackage --strategy single
Add multiple packages in a single command:
ipm add --packages mycompany/package1 mycompany/package2 mycompany/package3
Read the detailed description on all options on how to setup your project with the ipm add command.
Required parameters
One of the following is required:
--package -p
Specify a single package you wish to add. Format should be {packageOwner}/{packageName}
.
--packages
Specify multiple packages to add (their latest versions). Format should be {packageOwner}/{packageName}
with spaces between packages.
Optional parameters
--folder -f
Designate an alternative location for placing and downloading the package.
Default: If left empty, it will follow the workspace folder specified in ipmhub.json
.
--strategy -s
Defines the download strategy to use for this package.
Default: If not specified, it will adhere to the setting set in ipmhub.json
.
--namingrule -n
Defines the name placement rule to use for this package.
Default: If not specified, it will adhere to the setting set in ipmhub.json
, which normally is IgnoreOwner
.
--version -v
Define the package version you wish to configure and download.
Default: If not defined it will download the latest version available.
--workspace -w
Specifies the root workspace folder.
Default: If not specified, it defaults to the current directory.
--non-interactive
Requests a non-interactive authentication session by providing a single or multiple client secrets.
--client-secrets
One or more client secrets for non-interactive authentication. Multiple secrets should be separated by spaces.
Default: If not specified and non-interactive authentication is requested, IPM will check the `IPM_CLIENT_SECRETS`` environment variable.
Global parameters
--config -c
Specifies the filename for the application configuration.
Default: If left empty, the default configuration file will be used.
--help
Displays the help documentation for this verb.
--language
The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information
--loglevel
Minimum level of the log messages that will be written to the log file. Valid options are Trace
| Debug
| Info
| Warn
| Error
| Fatal
. If left empty, the default will be used.
(Default: Error)
Build
Prepare package contents from a source directory for publishing.
Syntax
ipm build --source sourcedirectory [--destination destinationdirectory] | [--dry-run]
Examples
Build a package from the source directory and output the result to a destination folder:
ipm build --source ./my-package --destination ./build-output
Simulate the build process without actually writing files:
ipm build --source ./my-package --dry-run
Required parameters
--source -s
The local folder to use as the source for the build process.
And one of the following:
--destination -d
The local folder to store the results of the build process.
--dry-run
Simulates the build process without writing output to a destination folder.
Optional parameters
This command has no additional optional parameters.
Global parameters
--config -c
Specifies the filename for the application configuration.
Default: If left empty, the default configuration file will be used.
--help
Displays the help documentation for this verb.
--language
The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information
--loglevel
Minimum level of the log messages that will be written to the log file. Valid options are Trace
| Debug
| Info
| Warn
| Error
| Fatal
. If left empty, the default will be used.
(Default: Error)
Cache
Functionality to maintain the IPM client cache.
Syntax
ipm cache [--clear]
Examples
Clear the cache of the IPM client:
ipm cache --clear
Required parameters
--clear
Clears the cache of the IPM client
Optional parameters
This command has no optional parameters.
Global parameters
--help
Displays the help documentation for this verb.
--language
The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information
--loglevel
Minimum level of the log messages that will be written to the log file. Valid options are Trace
| Debug
| Info
| Warn
| Error
| Fatal
. If left empty, the default will be used.
(Default: Error)
--version
Returns the version information of the ipm application
Config
Functionality to configure the IPM client.
Syntax
ipm config [--reg]
Examples
Register the IPM client within the current user execution path:
ipm config --reg
Required parameters
--reg
Register the IPM client within the current user execution path.
Optional parameters
This command has no optional parameters.
Global parameters
--help
Displays the help documentation for this verb.
--language
The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information
--loglevel
Minimum level of the log messages that will be written to the log file. Valid options are Trace
| Debug
| Info
| Warn
| Error
| Fatal
. If left empty, the default will be used.
(Default: Error)
--version
Returns the version information of the ipm application
Export
Export a package from IPMHub to a local folder without configuring it as a workspace.
Syntax
ipm export --package packageowner/packagename --destination folderpath
[--version]
[--non-interactive]
[--client-secrets]
Examples
Export the latest version of package MyPackage to a local folder:
ipm export --package mycompany/MyPackage --destination ./export-folder
Export a specific version of package MyPackage to a local folder:
ipm export --package mycompany/MyPackage --version 1.2.3 --destination ./export-folder
Required parameters
--package -p
The name of the package to export from IPMHub. Format should be {packageOwner}/{packageName}
.
--destination -d
A local folder path where the package contents will be exported. This folder must be empty or non-existent.
Optional parameters
--version -v
The specific version to export. If not specified, the latest version will be exported.
--non-interactive
Requests a non-interactive authentication session by providing a single or multiple client secrets.
--client-secrets
One or more client secrets for non-interactive authentication. Multiple secrets should be separated by spaces.
Default: If not specified and non-interactive authentication is requested, IPM will check the IPM_CLIENT_SECRETS
environment variable.
Global parameters
--config -c
Specifies the filename for the application configuration.
Default: If left empty, the default configuration file will be used.
--help
Displays the help documentation for this verb.
--language
The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information
--loglevel
Minimum level of the log messages that will be written to the log file. Valid options are Trace
| Debug
| Info
| Warn
| Error
| Fatal
. If left empty, the default will be used.
(Default: Error)
Help
Calls the help menu for the context you are in.
Syntax
ipm --help
Examples
Shows the help for all main verbs:
ipm --help
Shows the help for the sync verb:
ipm sync --help
Info
Retrieve detailed information about a package, including it’s publisher, type, description and release notes.
Syntax
ipm info --package mycompany/myPackage [--version]
Examples
Get information for the package named MyPackage:
ipm info --package mycompany/MyPackage
Get information for a specific version of the package named MyPackage.
ipm info --package mycompany/MyPackage --version 1.2.3
Required parameters
--package -p
Specify the package you wish to get information from.
Optional parameters
--version -v
Define the version you wish to get information from.
Default: If not defined it will request information about the latest version of the package.
--non-interactive
Requests a non-interactive authentication session by providing a single or multiple client secrets.
--client-secrets
One or more client secrets for non-interactive authentication. Multiple secrets should be separated by spaces.
Default: If not specified and non-interactive authentication is requested, IPM will check the IPM_CLIENT_SECRETS
environment variable.
Global parameters
--config -c
Specifies the filename for the application configuration.
Default: If left empty, the default configuration file will be used.
--help
Displays the help documentation for this verb.
--language
The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information
--loglevel
Minimum level of the log messages that will be written to the log file. Valid options are Trace
| Debug
| Info
| Warn
| Error
| Fatal
. If left empty, the default will be used.
(Default: Error)
Init
Initializes a local workspace.
Syntax
ipm init [--workspace]
[--config]
Examples
Initialize the current directory:
ipm init
Initialize another folder:
ipm init --workspace ./workspace
Required parameters
This command has no required parameters
Optional parameters
--workspace -w
Specifies the directory to initialize. If not specified, it defaults to the current directory.
Global parameters
--config -c
Specifies the filename for the application configuration.
Default: If left empty, the default configuration file will be used.
--help
Displays the help documentation for this verb.
--language
The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information
--loglevel
Minimum level of the log messages that will be written to the logfile. Valid options are Trace
| Debug
| Info
| Warn
| Error
| Fatal
. If left empty, the default will be used.
(Default: Error)
--version
Returns the version information of the ipm application
Common messages
If the directory is already initalized you see the following message.
The workspace '/home/user/workspace' is already initialized.
List
Lists packages you own or have given access to by an organization. You need to be authenticated.
Syntax
ipm list [--pattern] [--visibility public,hybrid,private] [--type packagetype]
Examples
List all owned packages or packages from organizations that you access to:
ipm list
List owned packages or packages from organizations that you access, starting with “virtual”:
ipm list -p virtual\*
List only private packages:
ipm list --visibility private
List Bicep packages:
ipm list --type bicep
List public and hybrid Terraform packages:
ipm list --visibility public,hybrid --type terraform
Required parameters
This command has no required parameters.
Optional parameters
--pattern -p
A search pattern to look for. You can use wildcards ‘*’ to make your search query more generic. The pattern should have at least 3 characters (wildcards excluded).
--visibility
Filter packages by visibility. Valid options are public
, hybrid
, and private
. You can specify multiple values by separating them with commas.
--type
Filter packages by content type (e.g., bicep, terraform, powershell).
--config -c
Specifies the filename for the application configuration.
Default: If left empty, the default configuration file will be used.
--help
Displays the help documentation for this verb.
--language
The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information
--loglevel
Minimum level of the log messages that will be written to the log file. Valid options are Trace
| Debug
| Info
| Warn
| Error
| Fatal
. If left empty, the default will be used.
(Default: Error)
Login
Authenticate IPM with IPMHub
Syntax
ipm login
Required parameters
This command has no required parameters.
Optional parameters
--config -c
Specifies the filename for the application configuration.
Default: If left empty, the default configuration file will be used.
--help
Displays the help documentation for this verb.
--language
The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information
--loglevel
Minimum level of the log messages that will be written to the log file. Valid options are Trace
| Debug
| Info
| Warn
| Error
| Fatal
. If left empty, the default will be used.
(Default: Error)
Logout
Logout the IPM client
Syntax
ipm logout [--force]
Examples
Force logout:
ipm logout --force
Required parameters
This command has no required parameters.
Optional parameters
--force
Forces the logout action, thus no user interaction is needed.
--config -c
Specifies the filename for the application configuration.
Default: If left empty, the default configuration file will be used.
--help
Displays the help documentation for this verb.
--language
The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information
--loglevel
Minimum level of the log messages that will be written to the log file. Valid options are Trace
| Debug
| Info
| Warn
| Error
| Fatal
. If left empty, the default will be used.
(Default: Error)
Publish
Publishes a new version of a package to IPMHub
Syntax
ipm publish --package
[--folder]
[--version]
[--non-interactive]
[--client-secrets]
Required parameters
--folder -f
The folder containing the code that needs to be published.
--package -p
The full package name including the owner of the package.
--version -v
The new version number of the package.
--non-interactive
Requests a non-interactive authentication session by providing a single or multiple client secrets.
--client-secrets
One or more client secrets for non-interactive authentication. Multiple secrets should be separated by spaces.
Default: If not specified and non-interactive authentication is requested, IPM will check the IPM_CLIENT_SECRETS
environment variable.
Examples
Publish version 1.2.3 of package hello-word owned by ipmhub with the contents of the current directory:
ipm publish --package ipmhub/hello-world -v 1.2.3 -f ./
Search
Search public available and hybrid packages within IPMHub
Syntax
ipm search --pattern pattern [--visibility public,hybrid,private] [--type packagetype]
Examples
Search all packages starting with “virtual”:
ipm search -p virtual\*
Search for public packages only:
ipm search -p vnet\* --visibility public
Search for Bicep packages:
ipm search -p \* --type bicep
Search for public and hybrid Terraform packages:
ipm search -p \* --visibility public,hybrid --type terraform
Required parameters
--pattern -p
A search pattern. Wildcards are allowed (*). The pattern has a minimum of 3 chars including wildcards.
Optional parameters
--visibility
Filter packages by visibility. Valid options are public
, hybrid
, and private
. You can specify multiple values by separating them with commas.
--type
Filter packages by content type (e.g., bicep, terraform, powershell).
Global parameters
--config -c
Specifies the filename for the application configuration.
Default: If left empty, the default configuration file will be used.
--help
Displays the help documentation for this verb.
--language
The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information
--loglevel
Minimum level of the log messages that will be written to the log file. Valid options are Trace
| Debug
| Info
| Warn
| Error
| Fatal
. If left empty, the default will be used.
(Default: Error)
Status
Retrieve the status of the workspace
Syntax
ipm status [--package]
[--version]
[--non-interactive]
[--client-secrets]
Examples
Get the status of all packages defined in your workspace:
ipm status
Get the status for a specific package named MyPackage:
ipm info --package mycompany/MyPackage
Required parameters
This command has no required parameters
Optional parameters
--package -p
Specify the package you wish to get the status of.
--non-interactive
Requests a non-interactive authentication session by providing a single or multiple client secrets.
--client-secrets
One or more client secrets for non-interactive authentication. Multiple secrets should be separated by spaces.
Default: If not specified and non-interactive authentication is requested, IPM will check the IPM_CLIENT_SECRETS
environment variable.
Global parameters
--help
Displays the help documentation for this verb.
--language
The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information
--loglevel
Minimum level of the log messages that will be written to the log file. Valid options are Trace
| Debug
| Info
| Warn
| Error
| Fatal
. If left empty, the default will be used.
(Default: Error)
Sync
Synchronizes the workspace as defined in ipmhub.json
Syntax
ipm sync [--package packagename]
[--packages package1 package2 package3]
[--mode syncmode]
[--workspace workspacepath]
[--non-interactive]
[--client-secrets secretvalues]
Examples
Synchronize all packages defined in ipmhub.json:
ipm sync
Synchronize a specific package:
ipm sync --package mycompany/MyPackage
Synchronize multiple specific packages:
ipm sync --packages mycompany/package1 mycompany/package2 mycompany/package3
Synchronize a package with the mode set to KeepAllChanges
:
ipm sync --package mycompany/MyPackage --mode KeepAllChanges
Required parameters
This command had no required parameters.
Optional parameters
--package -p
Specify a single package you wish to synchronize.
--packages
Specify multiple packages to synchronize. Format should be {packageOwner}/{packageName}
with spaces between packages.
--mode -m
Configure the Synchronization mode, valid options are Clean
|KeepChangesOnly
|KeepNewFilesOnly
|KeepAllChanges
Default: KeepAllChanges
--workspace -w
Specifies the directory to synchronize.
Default: If not specified, it defaults to the current directory.
--non-interactive
Requests a non-interactive authentication session by providing a single or multiple client secrets.
--client-secrets
One or more client secrets for non-interactive authentication. Multiple secrets should be separated by spaces.
Default: If not specified and non-interactive authentication is requested, IPM will check the IPM_CLIENT_SECRETS
environment variable.
Global parameters
--config -c
Specifies the filename for the application configuration.
Default: If left empty, the default configuration file will be used.
--help
Displays the help documentation for this verb.
--language
The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information
--loglevel
Minimum level of the log messages that will be written to the log file. Valid options are Trace
| Debug
| Info
| Warn
| Error
| Fatal
. If left empty, the default will be used.
(Default: Error)
Version
Shows the version of the IPM client.
Syntax
ipm version
General
Non-Interactive Authentication
The IPM client supports non-interactive authentication using client secrets. These parameters enable automated processes to authenticate without user interaction.
Required Parameters for Client Secret Authentication
--non-interactive
Enables non-interactive authentication mode. Required when using client secrets.
Optional Parameters for Client Secret Authentication
--client-secrets
One or more client secrets for authentication. Multiple secrets should be separated by spaces.
Default: If not specified, IPM will check the IPM_CLIENT_SECRETS
environment variable.
Examples
Using a single client secret:
ipm add -p mycompany/MyPackage --non-interactive --client-secrets YOUR_SECRET
Using multiple client secrets:
ipm add -p mycompany/MyPackage --non-interactive --client-secrets SECRET1 SECRET2
Using environment variable:
export IPM_CLIENT_SECRETS=YOUR_SECRET
ipm add -p mycompany/MyPackage --non-interactive
Hide CLI banner
To clean up your DevOps environment output, we provide you with an option to hide the IPM banner. This will redude the output of
the IPM CLI to the minimum.
Disable the CLI banner
To disable the banner, just set the environment variable IPMHUBCLI_BANNER_DISABLED
to TRUE
.
Examples
Hide the banner within Windows:
set IPMHUBCLI_BANNER_DISABLED=TRUE
ipm status
Hide the banner within Linux:
export IPMHUBCLI_BANNER_DISABLED=TRUE
ipm status
License info: https://docs.ipmhub.io/docs/about-ipm/license/ Copyright ©2023-2025 IPMHub NL