# Reference
## Table of Contents
### Classes
* [`hashi_stack::repo`](#hashi_stack--repo): Set up the package repository for the HashiCorp Stack components
## Classes
### `hashi_stack::repo`
This class installs the hashicorp repository
#### Examples
##### Inclusion using defaults
```puppet
include hashi_stack::repo
```
##### Include repo and install packer as package
```puppet
include hashi_stack::repo
package { 'packer':
ensure => installed,
require => Class['Hashi_stack::Repo'],
}
```
#### Parameters
The following parameters are available in the `hashi_stack::repo` class:
* [`priority`](#-hashi_stack--repo--priority)
* [`proxy`](#-hashi_stack--repo--proxy)
* [`key_id`](#-hashi_stack--repo--key_id)
* [`key_source`](#-hashi_stack--repo--key_source)
* [`description`](#-hashi_stack--repo--description)
* [`rpm_base`](#-hashi_stack--repo--rpm_base)
* [`repo_gpgcheck`](#-hashi_stack--repo--repo_gpgcheck)
* [`repo_enabled`](#-hashi_stack--repo--repo_enabled)
##### `priority`
Data type: `Optional[Integer]`
A numeric priority for the repo, passed to the package management system
Default value: `undef`
##### `proxy`
Data type: `String`
The URL of a HTTP proxy to use for package downloads (YUM only)
Default value: `'absent'`
##### `key_id`
Data type: `String`
GPG key to authenticate Apt package signatures.
Default value: `'798AEC654E5C15428C8E42EEAA16FCBCA621E701'`
##### `key_source`
Data type: `Stdlib::HTTPSUrl`
The location of an existing GPG key file to copy.
Default value: `'https://apt.releases.hashicorp.com/gpg'`
##### `description`
Data type: `String`
Repository description
Default value: `'HashiCorp package repository.'`
##### `rpm_base`
Data type: `String`
Base URL for the Yum repository
Default value: `'https://rpm.releases.hashicorp.com'`
##### `repo_gpgcheck`
Data type: `Integer[0,1]`
enables gpg validation of packages from the repo
Default value: `0`
##### `repo_enabled`
Data type: `Integer[0,1]`
enables/disables the repository
Default value: `1`