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.1).
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_psrepositoryto re-register (add) removed PSGallery, use the command- Register-PSRepository -Defaultinstead.
- 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 - CHANGEDstatus 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-PSRepositoryand 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
