community.windows.win_psrepository module – Adds, removes or updates a Windows PowerShell repository.
Note
This module is part of the community.windows collection (version 3.0.0).
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.windows
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.windows.win_psrepository
.
Synopsis
This module helps to add, remove and update Windows PowerShell repository on Windows-based systems.
Requirements
The below requirements are needed on the host that executes this module.
PowerShell Module PowerShellGet >= 1.6.0
PowerShell Module PackageManagement >= 1.1.7
PowerShell Package Provider
NuGet
>= 2.8.5.201
Parameters
Parameter |
Comments |
---|---|
If force has no effect when state=absent. See notes for additional context. Choices:
|
|
Sets the Will default to Choices:
|
|
Name of the repository to work with. |
|
Password to authenticate against private repository. |
|
Proxy to use for repository. |
|
Specifies the URI for publishing modules to this repository. |
|
Specifies the URI for publishing scripts to this repository. |
|
Specifies the URI for discovering and installing scripts from this repository. |
|
Specifies the URI for discovering and installing modules from this repository. A URI can be a NuGet server feed (most common situation), HTTP, HTTPS, FTP or file location. Required when registering a new repository or using force=True. |
|
If If Choices:
|
|
Username to authenticate against private repository. |
Notes
Note
See the examples on how to update the NuGet package provider.
You can not use
win_psrepository
to re-register (add) removed PSGallery, use the commandRegister-PSRepository -Default
instead.When registering or setting source_location, PowerShellGet will transform the location according to internal rules, such as following HTTP/S redirects.
This can result in a
CHANGED
status on each run as the values will never match and will be “reset” each time.To work around that, find the true destination value with community.windows.win_psrepository_info or
Get-PSRepository
and update the playbook to match.When updating an existing repository, all options except name are optional. Only supplied options will be updated. Use force=True to exactly match.
script_location, publish_location, and script_publish_location are optional but once set can only be cleared with force=True.
Using force=True will unregister and re-register the repository if there are any changes, so that it exactly matches the options specified.
See Also
See also
- community.windows.win_psrepository_info
Gather information about PSRepositories.
- community.windows.win_psmodule
Adds or removes a Windows PowerShell module.
Examples
---
- name: Ensure the required NuGet package provider version is installed
ansible.windows.win_shell: Find-PackageProvider -Name Nuget -ForceBootstrap -IncludeDependencies -Force
- name: Register a PowerShell repository
community.windows.win_psrepository:
name: MyRepository
source_location: https://myrepo.com
state: present
- name: Remove a PowerShell repository
community.windows.win_psrepository:
name: MyRepository
state: absent
- name: Add an untrusted repository
community.windows.win_psrepository:
name: MyRepository
installation_policy: untrusted
- name: Add a repository with different locations
community.windows.win_psrepository:
name: NewRepo
source_location: https://myrepo.example/module/feed
script_source_location: https://myrepo.example/script/feed
publish_location: https://myrepo.example/api/module/publish
script_publish_location: https://myrepo.example/api/script/publish
- name: Update only two properties on the above repository
community.windows.win_psrepository:
name: NewRepo
installation_policy: untrusted
script_publish_location: https://scriptprocessor.example/publish
- name: Clear script locations from the above repository by re-registering it
community.windows.win_psrepository:
name: NewRepo
installation_policy: untrusted
source_location: https://myrepo.example/module/feed
publish_location: https://myrepo.example/api/module/publish
force: true
- name: Register a PowerShell repository with credentials
community.windows.win_psrepository:
name: MyRepository
source_location: https://myrepo.com
state: present
username: repo_username
password: repo_password