# Reference

<!-- DO NOT EDIT: This document was generated by Puppet Strings -->

## Table of Contents

### Classes

#### Public Classes

* [`docker`](#docker): Module to install an up-to-date version of Docker from package.
* [`docker::compose`](#docker--compose): install Docker Compose using the recommended curl command.
* [`docker::images`](#docker--images)
* [`docker::install`](#docker--install): Module to install an up-to-date version of Docker from a package repository.
Only for Debian, Red Hat and Windows
* [`docker::machine`](#docker--machine): install Docker Machine using the recommended curl command.
* [`docker::networks`](#docker--networks)
* [`docker::params`](#docker--params): Default parameter values for the docker module
* [`docker::plugins`](#docker--plugins)
* [`docker::registry_auth`](#docker--registry_auth)
* [`docker::repos`](#docker--repos)
* [`docker::run_instance`](#docker--run_instance)
* [`docker::service`](#docker--service): manage the docker service daemon
* [`docker::swarms`](#docker--swarms)
* [`docker::systemd_reload`](#docker--systemd_reload): For systems that have systemd
* [`docker::volumes`](#docker--volumes)

#### Private Classes

* `docker::config`: Configuration for docker

### Defined types

* [`docker::exec`](#docker--exec): A define which executes a command inside a container.
* [`docker::image`](#docker--image): Module to install an up-to-date version of a Docker image
from the registry
* [`docker::plugin`](#docker--plugin): A define that manages a docker plugin
* [`docker::registry`](#docker--registry): Module to configure private docker registries from which to pull Docker images
* [`docker::run`](#docker--run): A define which manages a running docker container.
* [`docker::secrets`](#docker--secrets)
* [`docker::services`](#docker--services): define that managers a Docker services
* [`docker::stack`](#docker--stack): deploys Docker stacks or compose v3
* [`docker::swarm`](#docker--swarm): managers a Docker Swarm Mode cluster
* [`docker::system_user`](#docker--system_user): manage docker group users
* [`docker::windows_account`](#docker--windows_account): Windows account that owns the docker services

### Resource types

* [`docker_compose`](#docker_compose): A type representing a Docker Compose file
* [`docker_network`](#docker_network): Type representing a Docker network
* [`docker_stack`](#docker_stack): A type representing a Docker Stack
* [`docker_volume`](#docker_volume): A type representing a Docker volume

### Functions

* [`docker::env`](#docker--env)
* [`docker::escape`](#docker--escape)
* [`docker::sanitised_name`](#docker--sanitised_name): == Function: docker::sanitised_name  Function to sanitise container name.  === Parameters  [*name*]   Name to sanitise
* [`docker_exec_flags`](#docker_exec_flags): Transforms a hash into a string of docker exec flags
* [`docker_params_changed`](#docker_params_changed)
* [`docker_plugin_enable_flags`](#docker_plugin_enable_flags): Transforms a hash into a string of docker plugin remove flags
* [`docker_plugin_install_flags`](#docker_plugin_install_flags): Transforms a hash into a string of docker plugin install flags
* [`docker_plugin_remove_flags`](#docker_plugin_remove_flags): Transforms a hash into a string of docker plugin remove flags
* [`docker_run_flags`](#docker_run_flags): Transforms a hash into a string of docker flags
* [`docker_secrets_flags`](#docker_secrets_flags): Transforms a hash into a string of docker swarm init flags
* [`docker_service_flags`](#docker_service_flags): Transforms a hash into a string of docker swarm init flags
* [`docker_stack_flags`](#docker_stack_flags): Transforms a hash into a string of docker stack flags
* [`docker_swarm_init_flags`](#docker_swarm_init_flags): Transforms a hash into a string of docker swarm init flags
* [`docker_swarm_join_flags`](#docker_swarm_join_flags): Transforms a hash into a string of docker swarm init flags

### Tasks

* [`node_ls`](#node_ls): List nodes in the swarm
* [`node_rm`](#node_rm): Update a node
* [`node_update`](#node_update): Update a node
* [`service_create`](#service_create): Create a new Docker service
* [`service_rm`](#service_rm): Remove one replicated service
* [`service_scale`](#service_scale): Scale one replicated service
* [`service_update`](#service_update): Updates an existing service.
* [`swarm_init`](#swarm_init): Initializes a swarm
* [`swarm_join`](#swarm_join): Join a swarm
* [`swarm_leave`](#swarm_leave): Leave a swarm
* [`swarm_token`](#swarm_token): Gets the swarm token from the server
* [`swarm_update`](#swarm_update): Updates an existing service.

## Classes

### <a name="docker"></a>`docker`

Module to install an up-to-date version of Docker from package.

#### Parameters

The following parameters are available in the `docker` class:

* [`version`](#-docker--version)
* [`ensure`](#-docker--ensure)
* [`prerequired_packages`](#-docker--prerequired_packages)
* [`dependent_packages`](#-docker--dependent_packages)
* [`tcp_bind`](#-docker--tcp_bind)
* [`tls_enable`](#-docker--tls_enable)
* [`tls_verify`](#-docker--tls_verify)
* [`tls_cacert`](#-docker--tls_cacert)
* [`tls_cert`](#-docker--tls_cert)
* [`tls_key`](#-docker--tls_key)
* [`ip_forward`](#-docker--ip_forward)
* [`iptables`](#-docker--iptables)
* [`ip_masq`](#-docker--ip_masq)
* [`icc`](#-docker--icc)
* [`bip`](#-docker--bip)
* [`mtu`](#-docker--mtu)
* [`bridge`](#-docker--bridge)
* [`fixed_cidr`](#-docker--fixed_cidr)
* [`default_gateway`](#-docker--default_gateway)
* [`ipv6`](#-docker--ipv6)
* [`ipv6_cidr`](#-docker--ipv6_cidr)
* [`default_gateway_ipv6`](#-docker--default_gateway_ipv6)
* [`socket_bind`](#-docker--socket_bind)
* [`log_level`](#-docker--log_level)
* [`log_driver`](#-docker--log_driver)
* [`log_opt`](#-docker--log_opt)
* [`selinux_enabled`](#-docker--selinux_enabled)
* [`use_upstream_package_source`](#-docker--use_upstream_package_source)
* [`pin_upstream_package_source`](#-docker--pin_upstream_package_source)
* [`apt_source_pin_level`](#-docker--apt_source_pin_level)
* [`service_state`](#-docker--service_state)
* [`service_enable`](#-docker--service_enable)
* [`manage_service`](#-docker--manage_service)
* [`root_dir`](#-docker--root_dir)
* [`dns`](#-docker--dns)
* [`dns_search`](#-docker--dns_search)
* [`socket_group`](#-docker--socket_group)
* [`extra_parameters`](#-docker--extra_parameters)
* [`shell_values`](#-docker--shell_values)
* [`proxy`](#-docker--proxy)
* [`no_proxy`](#-docker--no_proxy)
* [`storage_driver`](#-docker--storage_driver)
* [`dm_basesize`](#-docker--dm_basesize)
* [`dm_fs`](#-docker--dm_fs)
* [`dm_mkfsarg`](#-docker--dm_mkfsarg)
* [`dm_mountopt`](#-docker--dm_mountopt)
* [`dm_blocksize`](#-docker--dm_blocksize)
* [`dm_loopdatasize`](#-docker--dm_loopdatasize)
* [`dm_loopmetadatasize`](#-docker--dm_loopmetadatasize)
* [`dm_datadev`](#-docker--dm_datadev)
* [`dm_metadatadev`](#-docker--dm_metadatadev)
* [`dm_thinpooldev`](#-docker--dm_thinpooldev)
* [`dm_use_deferred_removal`](#-docker--dm_use_deferred_removal)
* [`dm_use_deferred_deletion`](#-docker--dm_use_deferred_deletion)
* [`dm_blkdiscard`](#-docker--dm_blkdiscard)
* [`dm_override_udev_sync_check`](#-docker--dm_override_udev_sync_check)
* [`overlay2_override_kernel_check`](#-docker--overlay2_override_kernel_check)
* [`manage_package`](#-docker--manage_package)
* [`service_name`](#-docker--service_name)
* [`docker_users`](#-docker--docker_users)
* [`create_user`](#-docker--create_user)
* [`docker_group`](#-docker--docker_group)
* [`daemon_environment_files`](#-docker--daemon_environment_files)
* [`repo_opt`](#-docker--repo_opt)
* [`storage_devs`](#-docker--storage_devs)
* [`storage_vg`](#-docker--storage_vg)
* [`storage_root_size`](#-docker--storage_root_size)
* [`storage_data_size`](#-docker--storage_data_size)
* [`storage_min_data_size`](#-docker--storage_min_data_size)
* [`storage_chunk_size`](#-docker--storage_chunk_size)
* [`storage_growpart`](#-docker--storage_growpart)
* [`storage_auto_extend_pool`](#-docker--storage_auto_extend_pool)
* [`storage_pool_autoextend_threshold`](#-docker--storage_pool_autoextend_threshold)
* [`storage_pool_autoextend_percent`](#-docker--storage_pool_autoextend_percent)
* [`tmp_dir_config`](#-docker--tmp_dir_config)
* [`tmp_dir`](#-docker--tmp_dir)
* [`registry_mirror`](#-docker--registry_mirror)
* [`nuget_package_provider_version`](#-docker--nuget_package_provider_version)
* [`docker_msft_provider_version`](#-docker--docker_msft_provider_version)
* [`docker_ce_start_command`](#-docker--docker_ce_start_command)
* [`docker_ce_package_name`](#-docker--docker_ce_package_name)
* [`docker_ce_cli_package_name`](#-docker--docker_ce_cli_package_name)
* [`docker_ce_source_location`](#-docker--docker_ce_source_location)
* [`docker_ce_key_source`](#-docker--docker_ce_key_source)
* [`docker_ce_key_id`](#-docker--docker_ce_key_id)
* [`docker_ce_release`](#-docker--docker_ce_release)
* [`docker_package_location`](#-docker--docker_package_location)
* [`docker_package_key_source`](#-docker--docker_package_key_source)
* [`docker_package_key_check_source`](#-docker--docker_package_key_check_source)
* [`docker_package_key_id`](#-docker--docker_package_key_id)
* [`docker_package_release`](#-docker--docker_package_release)
* [`docker_engine_start_command`](#-docker--docker_engine_start_command)
* [`docker_engine_package_name`](#-docker--docker_engine_package_name)
* [`docker_ce_channel`](#-docker--docker_ce_channel)
* [`docker_ee`](#-docker--docker_ee)
* [`docker_ee_package_name`](#-docker--docker_ee_package_name)
* [`docker_ee_source_location`](#-docker--docker_ee_source_location)
* [`docker_ee_key_source`](#-docker--docker_ee_key_source)
* [`docker_ee_key_id`](#-docker--docker_ee_key_id)
* [`docker_ee_repos`](#-docker--docker_ee_repos)
* [`docker_ee_release`](#-docker--docker_ee_release)
* [`package_release`](#-docker--package_release)
* [`labels`](#-docker--labels)
* [`execdriver`](#-docker--execdriver)
* [`package_source`](#-docker--package_source)
* [`os_lc`](#-docker--os_lc)
* [`storage_config`](#-docker--storage_config)
* [`storage_config_template`](#-docker--storage_config_template)
* [`storage_setup_file`](#-docker--storage_setup_file)
* [`service_provider`](#-docker--service_provider)
* [`service_config`](#-docker--service_config)
* [`service_config_template`](#-docker--service_config_template)
* [`service_overrides_template`](#-docker--service_overrides_template)
* [`socket_overrides_template`](#-docker--socket_overrides_template)
* [`socket_override`](#-docker--socket_override)
* [`service_after_override`](#-docker--service_after_override)
* [`service_hasstatus`](#-docker--service_hasstatus)
* [`service_hasrestart`](#-docker--service_hasrestart)
* [`acknowledge_unsupported_os`](#-docker--acknowledge_unsupported_os)
* [`have_systemd_v230`](#-docker--have_systemd_v230)

##### <a name="-docker--version"></a>`version`

Data type: `Optional[String]`

The package version to install, used to set the package name.

Default value: `$docker::params::version`

##### <a name="-docker--ensure"></a>`ensure`

Data type: `String`

Passed to the docker package.

Default value: `$docker::params::ensure`

##### <a name="-docker--prerequired_packages"></a>`prerequired_packages`

Data type: `Variant[Array[String], Hash]`

An array of additional packages that need to be installed to support docker.

Default value: `$docker::params::prerequired_packages`

##### <a name="-docker--dependent_packages"></a>`dependent_packages`

Data type: `Array`

An array of packages installed by the docker-ce package v 18.09 and later.
Used when uninstalling to ensure containers cannot be run on the system.

Default value: `$docker::params::dependent_packages`

##### <a name="-docker--tcp_bind"></a>`tcp_bind`

Data type: `Optional[Variant[String,Array[String]]]`

The tcp socket to bind to in the format
tcp://127.0.0.1:4243

Default value: `$docker::params::tcp_bind`

##### <a name="-docker--tls_enable"></a>`tls_enable`

Data type: `Boolean`

Enable TLS.

Default value: `$docker::params::tls_enable`

##### <a name="-docker--tls_verify"></a>`tls_verify`

Data type: `Boolean`

Use TLS and verify the remote

Default value: `$docker::params::tls_verify`

##### <a name="-docker--tls_cacert"></a>`tls_cacert`

Data type: `Optional[String]`

Path to TLS CA certificate

Default value: `$docker::params::tls_cacert`

##### <a name="-docker--tls_cert"></a>`tls_cert`

Data type: `Optional[String]`

Path to TLS certificate file

Default value: `$docker::params::tls_cert`

##### <a name="-docker--tls_key"></a>`tls_key`

Data type: `Optional[String]`

Path to TLS key file

Default value: `$docker::params::tls_key`

##### <a name="-docker--ip_forward"></a>`ip_forward`

Data type: `Boolean`

Enables IP forwarding on the Docker host.

Default value: `$docker::params::ip_forward`

##### <a name="-docker--iptables"></a>`iptables`

Data type: `Boolean`

Enable Docker's addition of iptables rules.

Default value: `$docker::params::iptables`

##### <a name="-docker--ip_masq"></a>`ip_masq`

Data type: `Boolean`

Enable IP masquerading for bridge's IP range.

Default value: `$docker::params::ip_masq`

##### <a name="-docker--icc"></a>`icc`

Data type: `Optional[Boolean]`

Enable or disable Docker's unrestricted inter-container and Docker daemon host communication.
(Requires iptables=true to disable)

Default value: `$docker::params::icc`

##### <a name="-docker--bip"></a>`bip`

Data type: `Optional[String]`

Specify docker's network bridge IP, in CIDR notation.

Default value: `$docker::params::bip`

##### <a name="-docker--mtu"></a>`mtu`

Data type: `Optional[String]`

Docker network MTU.

Default value: `$docker::params::mtu`

##### <a name="-docker--bridge"></a>`bridge`

Data type: `Optional[String]`

Attach containers to a pre-existing network bridge
use 'none' to disable container networking

Default value: `$docker::params::bridge`

##### <a name="-docker--fixed_cidr"></a>`fixed_cidr`

Data type: `Optional[String]`

IPv4 subnet for fixed IPs
10.20.0.0/16

Default value: `$docker::params::fixed_cidr`

##### <a name="-docker--default_gateway"></a>`default_gateway`

Data type: `Optional[String]`

IPv4 address of the container default gateway;
this address must be part of the bridge subnet
(which is defined by bridge)

Default value: `$docker::params::default_gateway`

##### <a name="-docker--ipv6"></a>`ipv6`

Data type: `Optional[Boolean]`

Enables ipv6 support for the docker daemon

Default value: `$docker::params::ipv6`

##### <a name="-docker--ipv6_cidr"></a>`ipv6_cidr`

Data type: `Optional[String]`

IPv6 subnet for fixed IPs

Default value: `$docker::params::ipv6_cidr`

##### <a name="-docker--default_gateway_ipv6"></a>`default_gateway_ipv6`

Data type: `Optional[String]`

IPv6 address of the container default gateway:

Default value: `$docker::params::default_gateway_ipv6`

##### <a name="-docker--socket_bind"></a>`socket_bind`

Data type: `String`

The unix socket to bind to.

Default value: `$docker::params::socket_bind`

##### <a name="-docker--log_level"></a>`log_level`

Data type: `Optional[String]`

Set the logging level
Valid values: debug, info, warn, error, fatal

Default value: `$docker::params::log_level`

##### <a name="-docker--log_driver"></a>`log_driver`

Data type: `Optional[String]`

Set the log driver.
Docker default is json-file.
Please verify the value by yourself, before setting it. Valid shipped log drivers can be found here:
https://docs.docker.com/config/containers/logging/configure/#supported-logging-drivers
Since custom log driver plugins are and must be possible, the value can not be verified through code here.

Default value: `$docker::params::log_driver`

##### <a name="-docker--log_opt"></a>`log_opt`

Data type: `Array`

Set the log driver specific options
Valid values per log driver:
  none     : undef
  local    :
             max-size=[0-9+][k|m|g]
             max-file=[0-9+]
  json-file:
             max-size=[0-9+][k|m|g]
             max-file=[0-9+]
  syslog   :
             syslog-address=[tcp|udp]://host:port
             syslog-address=unix://path
             syslog-facility=daemon|kern|user|mail|auth|
                             syslog|lpr|news|uucp|cron|
                             authpriv|ftp|
                             local0|local1|local2|local3|
                             local4|local5|local6|local7
             syslog-tag="some_tag"
  journald : undef
  gelf     :
             gelf-address=udp://host:port
             gelf-tag="some_tag"
  fluentd  :
             fluentd-address=host:port
             fluentd-tag={{.ID}} - short container id (12 characters)|
                         {{.FullID}} - full container id
                         {{.Name}} - container name
  splunk   :
             splunk-token=<splunk_http_event_collector_token>
             splunk-url=https://your_splunk_instance:8088
  awslogs  :
             awslogs-group=<Cloudwatch Log Group>
             awslogs-stream=<Cloudwatch Log Stream>
             awslogs-create-group=true|false
             awslogs-datetime-format=<Date format> - strftime expression
             awslogs-multiline-pattern=multiline start pattern using a regular expression
             tag={{.ID}} - short container id (12 characters)|
                 {{.FullID}} - full container id
                 {{.Name}} - container name

Default value: `$docker::params::log_opt`

##### <a name="-docker--selinux_enabled"></a>`selinux_enabled`

Data type: `Optional[Boolean]`

Enable selinux support. Default is false. SELinux does  not  presently
support  the  BTRFS storage driver.

Default value: `$docker::params::selinux_enabled`

##### <a name="-docker--use_upstream_package_source"></a>`use_upstream_package_source`

Data type: `Optional[Boolean]`

Whether or not to use the upstream package source.
If you run your own package mirror, you may set this
to false.

Default value: `$docker::params::use_upstream_package_source`

##### <a name="-docker--pin_upstream_package_source"></a>`pin_upstream_package_source`

Data type: `Optional[Boolean]`

Pin upstream package source; this option currently only has any effect on
apt-based distributions.  Set to false to remove pinning on the upstream
package repository.  See also "apt_source_pin_level".

Default value: `$docker::params::pin_upstream_package_source`

##### <a name="-docker--apt_source_pin_level"></a>`apt_source_pin_level`

Data type: `Optional[Integer]`

What level to pin our source package repository to; this only is relevent
if you're on an apt-based system (Debian, Ubuntu, etc) and
$use_upstream_package_source is set to true.  Set this to false to disable
pinning, and undef to ensure the apt preferences file apt::source uses to
define pins is removed.

Default value: `$docker::params::apt_source_pin_level`

##### <a name="-docker--service_state"></a>`service_state`

Data type: `String`

Whether you want to docker daemon to start up

Default value: `$docker::params::service_state`

##### <a name="-docker--service_enable"></a>`service_enable`

Data type: `Boolean`

Whether you want to docker daemon to start up at boot

Default value: `$docker::params::service_enable`

##### <a name="-docker--manage_service"></a>`manage_service`

Data type: `Boolean`

Specify whether the service should be managed.

Default value: `$docker::params::manage_service`

##### <a name="-docker--root_dir"></a>`root_dir`

Data type: `Optional[String]`

Custom root directory for containers

Default value: `$docker::params::root_dir`

##### <a name="-docker--dns"></a>`dns`

Data type: `Optional[Variant[String,Array]]`

Custom dns server address

Default value: `$docker::params::dns`

##### <a name="-docker--dns_search"></a>`dns_search`

Data type: `Optional[Variant[String,Array]]`

Custom dns search domains

Default value: `$docker::params::dns_search`

##### <a name="-docker--socket_group"></a>`socket_group`

Data type: `Optional[Variant[String,Boolean]]`

Group ownership of the unix control socket.

Default value: `$docker::params::socket_group`

##### <a name="-docker--extra_parameters"></a>`extra_parameters`

Data type: `Optional[Variant[String,Array]]`

Any extra parameters that should be passed to the docker daemon.

Default value: `undef`

##### <a name="-docker--shell_values"></a>`shell_values`

Data type: `Optional[Variant[String,Array]]`

Array of shell values to pass into init script config files

Default value: `undef`

##### <a name="-docker--proxy"></a>`proxy`

Data type: `Optional[String]`

Will set the http_proxy and https_proxy env variables in /etc/sysconfig/docker (redhat/centos) or /etc/default/docker (debian)

Default value: `$docker::params::proxy`

##### <a name="-docker--no_proxy"></a>`no_proxy`

Data type: `Optional[String]`

Will set the no_proxy variable in /etc/sysconfig/docker (redhat/centos) or /etc/default/docker (debian)

Default value: `$docker::params::no_proxy`

##### <a name="-docker--storage_driver"></a>`storage_driver`

Data type: `Optional[String]`

Specify a storage driver to use
Valid values: aufs, devicemapper, btrfs, overlay, overlay2, vfs, zfs

Default value: `$docker::params::storage_driver`

##### <a name="-docker--dm_basesize"></a>`dm_basesize`

Data type: `Optional[String]`

The size to use when creating the base device, which limits the size of images and containers.

Default value: `$docker::params::dm_basesize`

##### <a name="-docker--dm_fs"></a>`dm_fs`

Data type: `Optional[String]`

The filesystem to use for the base image (xfs or ext4)

Default value: `$docker::params::dm_fs`

##### <a name="-docker--dm_mkfsarg"></a>`dm_mkfsarg`

Data type: `Optional[String]`

Specifies extra mkfs arguments to be used when creating the base device.

Default value: `$docker::params::dm_mkfsarg`

##### <a name="-docker--dm_mountopt"></a>`dm_mountopt`

Data type: `Optional[String]`

Specifies extra mount options used when mounting the thin devices.

Default value: `$docker::params::dm_mountopt`

##### <a name="-docker--dm_blocksize"></a>`dm_blocksize`

Data type: `Optional[String]`

A custom blocksize to use for the thin pool.
Default blocksize is 64K.
Warning: _DO NOT_ change this parameter after the lvm devices have been initialized.

Default value: `$docker::params::dm_blocksize`

##### <a name="-docker--dm_loopdatasize"></a>`dm_loopdatasize`

Data type: `Optional[String]`

Specifies the size to use when creating the loopback file for the "data" device which is used for the thin pool

Default value: `$docker::params::dm_loopdatasize`

##### <a name="-docker--dm_loopmetadatasize"></a>`dm_loopmetadatasize`

Data type: `Optional[String]`

Specifies the size to use when creating the loopback file for the "metadata" device which is used for the thin pool

Default value: `$docker::params::dm_loopmetadatasize`

##### <a name="-docker--dm_datadev"></a>`dm_datadev`

Data type: `Optional[String]`

(deprecated - dm_thinpooldev should be used going forward)
A custom blockdevice to use for data for the thin pool.

Default value: `$docker::params::dm_datadev`

##### <a name="-docker--dm_metadatadev"></a>`dm_metadatadev`

Data type: `Optional[String]`

(deprecated - dm_thinpooldev should be used going forward)
A custom blockdevice to use for metadata for the thin pool.

Default value: `$docker::params::dm_metadatadev`

##### <a name="-docker--dm_thinpooldev"></a>`dm_thinpooldev`

Data type: `Optional[String]`

Specifies a custom block storage device to use for the thin pool.

Default value: `$docker::params::dm_thinpooldev`

##### <a name="-docker--dm_use_deferred_removal"></a>`dm_use_deferred_removal`

Data type: `Optional[Boolean]`

Enables use of deferred device removal if libdm and the kernel driver support the mechanism.

Default value: `$docker::params::dm_use_deferred_removal`

##### <a name="-docker--dm_use_deferred_deletion"></a>`dm_use_deferred_deletion`

Data type: `Optional[Boolean]`

Enables use of deferred device deletion if libdm and the kernel driver support the mechanism.

Default value: `$docker::params::dm_use_deferred_deletion`

##### <a name="-docker--dm_blkdiscard"></a>`dm_blkdiscard`

Data type: `Optional[Boolean]`

Enables or disables the use of blkdiscard when removing devicemapper devices.

Default value: `$docker::params::dm_blkdiscard`

##### <a name="-docker--dm_override_udev_sync_check"></a>`dm_override_udev_sync_check`

Data type: `Optional[Boolean]`

By default, the devicemapper backend attempts to synchronize with the udev
device manager for the Linux kernel. This option allows disabling that
synchronization, to continue even though the configuration may be buggy.

Default value: `$docker::params::dm_override_udev_sync_check`

##### <a name="-docker--overlay2_override_kernel_check"></a>`overlay2_override_kernel_check`

Data type: `Boolean`

Overrides the Linux kernel version check allowing using overlay2 with kernel < 4.0.

Default value: `$docker::params::overlay2_override_kernel_check`

##### <a name="-docker--manage_package"></a>`manage_package`

Data type: `Boolean`

Won't install or define the docker package, useful if you want to use your own package

Default value: `$docker::params::manage_package`

##### <a name="-docker--service_name"></a>`service_name`

Data type: `Optional[String]`

Specify custom service name

Default value: `$docker::params::service_name`

##### <a name="-docker--docker_users"></a>`docker_users`

Data type: `Array`

Specify an array of users to add to the docker group

Default value: `[]`

##### <a name="-docker--create_user"></a>`create_user`

Data type: `Boolean`

If `true` the list of `docker_users` will be created as well as added to the docker group

Default value: `true`

##### <a name="-docker--docker_group"></a>`docker_group`

Data type: `String`

Specify a string for the docker group

Default value: `$docker::params::docker_group`

##### <a name="-docker--daemon_environment_files"></a>`daemon_environment_files`

Data type: `Array`

Specify additional environment files to add to the
service-overrides.conf

Default value: `[]`

##### <a name="-docker--repo_opt"></a>`repo_opt`

Data type: `Optional[Variant[String,Hash]]`

Specify a string to pass as repository options (RedHat only)

Default value: `$docker::params::repo_opt`

##### <a name="-docker--storage_devs"></a>`storage_devs`

Data type: `Optional[String]`

A quoted, space-separated list of devices to be used.

Default value: `$docker::params::storage_devs`

##### <a name="-docker--storage_vg"></a>`storage_vg`

Data type: `Optional[String]`

The volume group to use for docker storage.

Default value: `$docker::params::storage_vg`

##### <a name="-docker--storage_root_size"></a>`storage_root_size`

Data type: `Optional[String]`

The size to which the root filesystem should be grown.

Default value: `$docker::params::storage_root_size`

##### <a name="-docker--storage_data_size"></a>`storage_data_size`

Data type: `Optional[String]`

The desired size for the docker data LV

Default value: `$docker::params::storage_data_size`

##### <a name="-docker--storage_min_data_size"></a>`storage_min_data_size`

Data type: `Optional[String]`

The minimum size of data volume otherwise pool creation fails

Default value: `$docker::params::storage_min_data_size`

##### <a name="-docker--storage_chunk_size"></a>`storage_chunk_size`

Data type: `Optional[String]`

Controls the chunk size/block size of thin pool.

Default value: `$docker::params::storage_chunk_size`

##### <a name="-docker--storage_growpart"></a>`storage_growpart`

Data type: `Optional[Boolean]`

Enable resizing partition table backing root volume group.

Default value: `$docker::params::storage_growpart`

##### <a name="-docker--storage_auto_extend_pool"></a>`storage_auto_extend_pool`

Data type: `Optional[String]`

Enable/disable automatic pool extension using lvm

Default value: `$docker::params::storage_auto_extend_pool`

##### <a name="-docker--storage_pool_autoextend_threshold"></a>`storage_pool_autoextend_threshold`

Data type: `Optional[String]`

Auto pool extension threshold (in % of pool size)

Default value: `$docker::params::storage_pool_autoextend_threshold`

##### <a name="-docker--storage_pool_autoextend_percent"></a>`storage_pool_autoextend_percent`

Data type: `Optional[String]`

Extend the pool by specified percentage when threshold is hit.

Default value: `$docker::params::storage_pool_autoextend_percent`

##### <a name="-docker--tmp_dir_config"></a>`tmp_dir_config`

Data type: `Optional[Boolean]`

Whether to set the TMPDIR value in the systemd config file
Default: true (set the value); false will comment out the line.
Note: false is backwards compatible prior to PR #58

Default value: `$docker::params::tmp_dir_config`

##### <a name="-docker--tmp_dir"></a>`tmp_dir`

Data type: `Optional[String]`

Sets the tmp dir for Docker (path)

Default value: `$docker::params::tmp_dir`

##### <a name="-docker--registry_mirror"></a>`registry_mirror`

Data type: `Optional[Variant[String,Array]]`

Sets the prefered container registry mirror.

Default value: `$docker::params::registry_mirror`

##### <a name="-docker--nuget_package_provider_version"></a>`nuget_package_provider_version`

Data type: `Optional[String]`

The version of the NuGet Package provider

Default value: `$docker::params::nuget_package_provider_version`

##### <a name="-docker--docker_msft_provider_version"></a>`docker_msft_provider_version`

Data type: `Optional[String]`

The version of the Microsoft Docker Provider Module

Default value: `$docker::params::docker_msft_provider_version`

##### <a name="-docker--docker_ce_start_command"></a>`docker_ce_start_command`

Data type: `String`



Default value: `$docker::params::docker_ce_start_command`

##### <a name="-docker--docker_ce_package_name"></a>`docker_ce_package_name`

Data type: `Optional[String]`



Default value: `$docker::params::docker_ce_package_name`

##### <a name="-docker--docker_ce_cli_package_name"></a>`docker_ce_cli_package_name`

Data type: `String[1]`



Default value: `$docker::params::docker_ce_cli_package_name`

##### <a name="-docker--docker_ce_source_location"></a>`docker_ce_source_location`

Data type: `Optional[String]`



Default value: `$docker::params::package_ce_source_location`

##### <a name="-docker--docker_ce_key_source"></a>`docker_ce_key_source`

Data type: `Optional[String]`



Default value: `$docker::params::package_ce_key_source`

##### <a name="-docker--docker_ce_key_id"></a>`docker_ce_key_id`

Data type: `Optional[String]`



Default value: `$docker::params::package_ce_key_id`

##### <a name="-docker--docker_ce_release"></a>`docker_ce_release`

Data type: `Optional[String]`



Default value: `$docker::params::package_ce_release`

##### <a name="-docker--docker_package_location"></a>`docker_package_location`

Data type: `Optional[String]`



Default value: `$docker::params::package_source_location`

##### <a name="-docker--docker_package_key_source"></a>`docker_package_key_source`

Data type: `Optional[String]`



Default value: `$docker::params::package_key_source`

##### <a name="-docker--docker_package_key_check_source"></a>`docker_package_key_check_source`

Data type: `Optional[Boolean]`



Default value: `$docker::params::package_key_check_source`

##### <a name="-docker--docker_package_key_id"></a>`docker_package_key_id`

Data type: `Optional[String]`



Default value: `$docker::params::package_key_id`

##### <a name="-docker--docker_package_release"></a>`docker_package_release`

Data type: `Optional[String]`



Default value: `$docker::params::package_release`

##### <a name="-docker--docker_engine_start_command"></a>`docker_engine_start_command`

Data type: `String`



Default value: `$docker::params::docker_engine_start_command`

##### <a name="-docker--docker_engine_package_name"></a>`docker_engine_package_name`

Data type: `String`



Default value: `$docker::params::docker_engine_package_name`

##### <a name="-docker--docker_ce_channel"></a>`docker_ce_channel`

Data type: `String`



Default value: `$docker::params::docker_ce_channel`

##### <a name="-docker--docker_ee"></a>`docker_ee`

Data type: `Optional[Boolean]`



Default value: `$docker::params::docker_ee`

##### <a name="-docker--docker_ee_package_name"></a>`docker_ee_package_name`

Data type: `Optional[String]`



Default value: `$docker::params::package_ee_package_name`

##### <a name="-docker--docker_ee_source_location"></a>`docker_ee_source_location`

Data type: `Optional[String]`



Default value: `$docker::params::package_ee_source_location`

##### <a name="-docker--docker_ee_key_source"></a>`docker_ee_key_source`

Data type: `Optional[String]`



Default value: `$docker::params::package_ee_key_source`

##### <a name="-docker--docker_ee_key_id"></a>`docker_ee_key_id`

Data type: `Optional[String]`



Default value: `$docker::params::package_ee_key_id`

##### <a name="-docker--docker_ee_repos"></a>`docker_ee_repos`

Data type: `Optional[String]`



Default value: `$docker::params::package_ee_repos`

##### <a name="-docker--docker_ee_release"></a>`docker_ee_release`

Data type: `Optional[String]`



Default value: `$docker::params::package_ee_release`

##### <a name="-docker--package_release"></a>`package_release`

Data type: `Optional[String]`



Default value: `$docker::params::package_release`

##### <a name="-docker--labels"></a>`labels`

Data type: `Array`



Default value: `$docker::params::labels`

##### <a name="-docker--execdriver"></a>`execdriver`

Data type: `Optional[String]`



Default value: `$docker::params::execdriver`

##### <a name="-docker--package_source"></a>`package_source`

Data type: `Optional[String]`



Default value: `$docker::params::package_source`

##### <a name="-docker--os_lc"></a>`os_lc`

Data type: `Optional[String]`



Default value: `$docker::params::os_lc`

##### <a name="-docker--storage_config"></a>`storage_config`

Data type: `Optional[Variant[String,Boolean]]`



Default value: `$docker::params::storage_config`

##### <a name="-docker--storage_config_template"></a>`storage_config_template`

Data type: `Optional[String]`



Default value: `$docker::params::storage_config_template`

##### <a name="-docker--storage_setup_file"></a>`storage_setup_file`

Data type: `Optional[String]`



Default value: `$docker::params::storage_setup_file`

##### <a name="-docker--service_provider"></a>`service_provider`

Data type: `Optional[String]`



Default value: `$docker::params::service_provider`

##### <a name="-docker--service_config"></a>`service_config`

Data type: `Optional[Variant[String,Boolean]]`



Default value: `$docker::params::service_config`

##### <a name="-docker--service_config_template"></a>`service_config_template`

Data type: `Optional[String]`



Default value: `$docker::params::service_config_template`

##### <a name="-docker--service_overrides_template"></a>`service_overrides_template`

Data type: `Optional[Variant[String,Boolean]]`



Default value: `$docker::params::service_overrides_template`

##### <a name="-docker--socket_overrides_template"></a>`socket_overrides_template`

Data type: `Optional[Variant[String,Boolean]]`



Default value: `$docker::params::socket_overrides_template`

##### <a name="-docker--socket_override"></a>`socket_override`

Data type: `Optional[Boolean]`



Default value: `$docker::params::socket_override`

##### <a name="-docker--service_after_override"></a>`service_after_override`

Data type: `Optional[Variant[String,Boolean]]`



Default value: `$docker::params::service_after_override`

##### <a name="-docker--service_hasstatus"></a>`service_hasstatus`

Data type: `Optional[Boolean]`



Default value: `$docker::params::service_hasstatus`

##### <a name="-docker--service_hasrestart"></a>`service_hasrestart`

Data type: `Optional[Boolean]`



Default value: `$docker::params::service_hasrestart`

##### <a name="-docker--acknowledge_unsupported_os"></a>`acknowledge_unsupported_os`

Data type: `Boolean`



Default value: `false`

##### <a name="-docker--have_systemd_v230"></a>`have_systemd_v230`

Data type: `Boolean`



Default value: `$docker::params::have_systemd_v230`

### <a name="docker--compose"></a>`docker::compose`

install Docker Compose using the recommended curl command.

#### Parameters

The following parameters are available in the `docker::compose` class:

* [`ensure`](#-docker--compose--ensure)
* [`version`](#-docker--compose--version)

##### <a name="-docker--compose--ensure"></a>`ensure`

Data type: `Enum[present,absent]`

Whether to install or remove Docker Compose
Valid values are absent present

Default value: `present`

##### <a name="-docker--compose--version"></a>`version`

Data type: `Optional[String]`

The version of Docker Compose to install.

Default value: `undef`

### <a name="docker--images"></a>`docker::images`

The docker::images class.

#### Parameters

The following parameters are available in the `docker::images` class:

* [`images`](#-docker--images--images)

##### <a name="-docker--images--images"></a>`images`

Data type: `Hash`



### <a name="docker--install"></a>`docker::install`

Module to install an up-to-date version of Docker from a package repository.
Only for Debian, Red Hat and Windows

#### Parameters

The following parameters are available in the `docker::install` class:

* [`version`](#-docker--install--version)
* [`nuget_package_provider_version`](#-docker--install--nuget_package_provider_version)
* [`docker_msft_provider_version`](#-docker--install--docker_msft_provider_version)
* [`docker_ee_package_name`](#-docker--install--docker_ee_package_name)
* [`docker_download_url`](#-docker--install--docker_download_url)
* [`dependent_packages`](#-docker--install--dependent_packages)

##### <a name="-docker--install--version"></a>`version`

Data type: `Optional[String]`

The package version to install, used to set the package name.

Default value: `$docker::version`

##### <a name="-docker--install--nuget_package_provider_version"></a>`nuget_package_provider_version`

Data type: `Optional[String]`

The version of the NuGet Package provider

Default value: `$docker::nuget_package_provider_version`

##### <a name="-docker--install--docker_msft_provider_version"></a>`docker_msft_provider_version`

Data type: `Optional[String]`

The version of the Microsoft Docker Provider Module

Default value: `$docker::docker_msft_provider_version`

##### <a name="-docker--install--docker_ee_package_name"></a>`docker_ee_package_name`

Data type: `Optional[String]`

The name of the Docker Enterprise Edition package

Default value: `$docker::docker_ee_package_name`

##### <a name="-docker--install--docker_download_url"></a>`docker_download_url`

Data type: `Optional[String]`



Default value: `$docker::package_location`

##### <a name="-docker--install--dependent_packages"></a>`dependent_packages`

Data type: `Array`



Default value: `$docker::dependent_packages`

### <a name="docker--machine"></a>`docker::machine`

install Docker Machine using the recommended curl command.

#### Parameters

The following parameters are available in the `docker::machine` class:

* [`ensure`](#-docker--machine--ensure)
* [`version`](#-docker--machine--version)
* [`install_path`](#-docker--machine--install_path)
* [`proxy`](#-docker--machine--proxy)
* [`url`](#-docker--machine--url)
* [`curl_ensure`](#-docker--machine--curl_ensure)

##### <a name="-docker--machine--ensure"></a>`ensure`

Data type: `Enum[present,absent]`

Whether to install or remove Docker Machine
Valid values are absent present

Default value: `'present'`

##### <a name="-docker--machine--version"></a>`version`

Data type: `Optional[String]`

The version of Docker Machine to install.

Default value: `$docker::params::machine_version`

##### <a name="-docker--machine--install_path"></a>`install_path`

Data type: `Optional[String]`

The path where to install Docker Machine.

Default value: `$docker::params::machine_install_path`

##### <a name="-docker--machine--proxy"></a>`proxy`

Data type: `Optional[Pattern['^((http[s]?)?:\/\/)?([^:^@]+:[^:^@]+@|)([\da-z\.-]+)\.([\da-z\.]{2,6})(:[\d])?([\/\w \.-]*)*\/?$']]`

Proxy to use for downloading Docker Machine.

Default value: `undef`

##### <a name="-docker--machine--url"></a>`url`

Data type: `Optional[Variant[Stdlib::HTTPUrl, Stdlib::HTTPSUrl]]`

The URL from which the docker machine binary should be fetched

Default value: `undef`

##### <a name="-docker--machine--curl_ensure"></a>`curl_ensure`

Data type: `Optional[Boolean]`

Whether or not the curl package is ensured by this module.

Default value: `$docker::params::curl_ensure`

### <a name="docker--networks"></a>`docker::networks`

The docker::networks class.

#### Parameters

The following parameters are available in the `docker::networks` class:

* [`networks`](#-docker--networks--networks)

##### <a name="-docker--networks--networks"></a>`networks`

Data type: `Optional[Hash[String, Hash]]`



Default value: `undef`

### <a name="docker--params"></a>`docker::params`

Default parameter values for the docker module

### <a name="docker--plugins"></a>`docker::plugins`

The docker::plugins class.

#### Parameters

The following parameters are available in the `docker::plugins` class:

* [`plugins`](#-docker--plugins--plugins)

##### <a name="-docker--plugins--plugins"></a>`plugins`

Data type: `Hash`



### <a name="docker--registry_auth"></a>`docker::registry_auth`

The docker::registry_auth class.

#### Parameters

The following parameters are available in the `docker::registry_auth` class:

* [`registries`](#-docker--registry_auth--registries)

##### <a name="-docker--registry_auth--registries"></a>`registries`

Data type: `Hash`



### <a name="docker--repos"></a>`docker::repos`

The docker::repos class.

#### Parameters

The following parameters are available in the `docker::repos` class:

* [`location`](#-docker--repos--location)
* [`key_source`](#-docker--repos--key_source)
* [`key_check_source`](#-docker--repos--key_check_source)
* [`architecture`](#-docker--repos--architecture)

##### <a name="-docker--repos--location"></a>`location`

Data type: `Optional[String]`



Default value: `$docker::package_location`

##### <a name="-docker--repos--key_source"></a>`key_source`

Data type: `Optional[String]`



Default value: `$docker::package_key_source`

##### <a name="-docker--repos--key_check_source"></a>`key_check_source`

Data type: `Optional[Boolean]`



Default value: `$docker::package_key_check_source`

##### <a name="-docker--repos--architecture"></a>`architecture`

Data type: `String`



Default value: `$facts['os']['architecture']`

### <a name="docker--run_instance"></a>`docker::run_instance`

The docker::run_instance class.

#### Parameters

The following parameters are available in the `docker::run_instance` class:

* [`instance`](#-docker--run_instance--instance)

##### <a name="-docker--run_instance--instance"></a>`instance`

Data type: `Hash`



### <a name="docker--service"></a>`docker::service`

manage the docker service daemon

#### Parameters

The following parameters are available in the `docker::service` class:

* [`tcp_bind`](#-docker--service--tcp_bind)
* [`ip_forward`](#-docker--service--ip_forward)
* [`iptables`](#-docker--service--iptables)
* [`ip_masq`](#-docker--service--ip_masq)
* [`socket_bind`](#-docker--service--socket_bind)
* [`socket_group`](#-docker--service--socket_group)
* [`root_dir`](#-docker--service--root_dir)
* [`extra_parameters`](#-docker--service--extra_parameters)
* [`shell_values`](#-docker--service--shell_values)
* [`manage_service`](#-docker--service--manage_service)
* [`docker_command`](#-docker--service--docker_command)
* [`docker_start_command`](#-docker--service--docker_start_command)
* [`service_name`](#-docker--service--service_name)
* [`icc`](#-docker--service--icc)
* [`bridge`](#-docker--service--bridge)
* [`fixed_cidr`](#-docker--service--fixed_cidr)
* [`default_gateway`](#-docker--service--default_gateway)
* [`ipv6`](#-docker--service--ipv6)
* [`ipv6_cidr`](#-docker--service--ipv6_cidr)
* [`default_gateway_ipv6`](#-docker--service--default_gateway_ipv6)
* [`log_level`](#-docker--service--log_level)
* [`log_driver`](#-docker--service--log_driver)
* [`log_opt`](#-docker--service--log_opt)
* [`selinux_enabled`](#-docker--service--selinux_enabled)
* [`labels`](#-docker--service--labels)
* [`dns`](#-docker--service--dns)
* [`dns_search`](#-docker--service--dns_search)
* [`service_state`](#-docker--service--service_state)
* [`service_enable`](#-docker--service--service_enable)
* [`proxy`](#-docker--service--proxy)
* [`no_proxy`](#-docker--service--no_proxy)
* [`execdriver`](#-docker--service--execdriver)
* [`bip`](#-docker--service--bip)
* [`mtu`](#-docker--service--mtu)
* [`storage_driver`](#-docker--service--storage_driver)
* [`dm_basesize`](#-docker--service--dm_basesize)
* [`dm_fs`](#-docker--service--dm_fs)
* [`dm_mkfsarg`](#-docker--service--dm_mkfsarg)
* [`dm_mountopt`](#-docker--service--dm_mountopt)
* [`dm_blocksize`](#-docker--service--dm_blocksize)
* [`dm_loopdatasize`](#-docker--service--dm_loopdatasize)
* [`dm_loopmetadatasize`](#-docker--service--dm_loopmetadatasize)
* [`dm_datadev`](#-docker--service--dm_datadev)
* [`dm_metadatadev`](#-docker--service--dm_metadatadev)
* [`tmp_dir_config`](#-docker--service--tmp_dir_config)
* [`tmp_dir`](#-docker--service--tmp_dir)
* [`dm_thinpooldev`](#-docker--service--dm_thinpooldev)
* [`dm_use_deferred_removal`](#-docker--service--dm_use_deferred_removal)
* [`dm_use_deferred_deletion`](#-docker--service--dm_use_deferred_deletion)
* [`dm_blkdiscard`](#-docker--service--dm_blkdiscard)
* [`dm_override_udev_sync_check`](#-docker--service--dm_override_udev_sync_check)
* [`overlay2_override_kernel_check`](#-docker--service--overlay2_override_kernel_check)
* [`storage_devs`](#-docker--service--storage_devs)
* [`storage_vg`](#-docker--service--storage_vg)
* [`storage_root_size`](#-docker--service--storage_root_size)
* [`storage_data_size`](#-docker--service--storage_data_size)
* [`storage_min_data_size`](#-docker--service--storage_min_data_size)
* [`storage_chunk_size`](#-docker--service--storage_chunk_size)
* [`storage_growpart`](#-docker--service--storage_growpart)
* [`storage_auto_extend_pool`](#-docker--service--storage_auto_extend_pool)
* [`storage_pool_autoextend_threshold`](#-docker--service--storage_pool_autoextend_threshold)
* [`storage_pool_autoextend_percent`](#-docker--service--storage_pool_autoextend_percent)
* [`storage_config`](#-docker--service--storage_config)
* [`storage_config_template`](#-docker--service--storage_config_template)
* [`storage_setup_file`](#-docker--service--storage_setup_file)
* [`service_provider`](#-docker--service--service_provider)
* [`service_config`](#-docker--service--service_config)
* [`service_config_template`](#-docker--service--service_config_template)
* [`service_overrides_template`](#-docker--service--service_overrides_template)
* [`socket_overrides_template`](#-docker--service--socket_overrides_template)
* [`socket_override`](#-docker--service--socket_override)
* [`service_after_override`](#-docker--service--service_after_override)
* [`service_hasstatus`](#-docker--service--service_hasstatus)
* [`service_hasrestart`](#-docker--service--service_hasrestart)
* [`daemon_environment_files`](#-docker--service--daemon_environment_files)
* [`tls_enable`](#-docker--service--tls_enable)
* [`tls_verify`](#-docker--service--tls_verify)
* [`tls_cacert`](#-docker--service--tls_cacert)
* [`tls_cert`](#-docker--service--tls_cert)
* [`tls_key`](#-docker--service--tls_key)
* [`registry_mirror`](#-docker--service--registry_mirror)
* [`root_dir_flag`](#-docker--service--root_dir_flag)

##### <a name="-docker--service--tcp_bind"></a>`tcp_bind`

Data type: `Optional[Variant[String,Array[String]]]`

Which tcp port, if any, to bind the docker service to.

Default value: `$docker::tcp_bind`

##### <a name="-docker--service--ip_forward"></a>`ip_forward`

Data type: `Boolean`

This flag interacts with the IP forwarding setting on
your host system's kernel

Default value: `$docker::ip_forward`

##### <a name="-docker--service--iptables"></a>`iptables`

Data type: `Boolean`

Enable Docker's addition of iptables rules

Default value: `$docker::iptables`

##### <a name="-docker--service--ip_masq"></a>`ip_masq`

Data type: `Boolean`

Enable IP masquerading for bridge's IP range.

Default value: `$docker::ip_masq`

##### <a name="-docker--service--socket_bind"></a>`socket_bind`

Data type: `String`

Which local unix socket to bind the docker service to.

Default value: `$docker::socket_bind`

##### <a name="-docker--service--socket_group"></a>`socket_group`

Data type: `Optional[Variant[String,Boolean]]`

Which local unix socket to bind the docker service to.

Default value: `$docker::socket_group`

##### <a name="-docker--service--root_dir"></a>`root_dir`

Data type: `Optional[String]`

Specify a non-standard root directory for docker.

Default value: `$docker::root_dir`

##### <a name="-docker--service--extra_parameters"></a>`extra_parameters`

Data type: `Optional[Variant[String,Array]]`

Plain additional parameters to pass to the docker daemon

Default value: `$docker::extra_parameters`

##### <a name="-docker--service--shell_values"></a>`shell_values`

Data type: `Optional[Variant[String,Array]]`

Array of shell values to pass into init script config files

Default value: `$docker::shell_values`

##### <a name="-docker--service--manage_service"></a>`manage_service`

Data type: `Boolean`

Specify whether the service should be managed.
Valid values are 'true', 'false'.
Defaults to 'true'.

Default value: `$docker::manage_service`

##### <a name="-docker--service--docker_command"></a>`docker_command`

Data type: `String`



Default value: `$docker::docker_command`

##### <a name="-docker--service--docker_start_command"></a>`docker_start_command`

Data type: `String`



Default value: `$docker::docker_start_command`

##### <a name="-docker--service--service_name"></a>`service_name`

Data type: `Optional[String]`



Default value: `$docker::service_name`

##### <a name="-docker--service--icc"></a>`icc`

Data type: `Optional[Boolean]`



Default value: `$docker::icc`

##### <a name="-docker--service--bridge"></a>`bridge`

Data type: `Optional[String]`



Default value: `$docker::bridge`

##### <a name="-docker--service--fixed_cidr"></a>`fixed_cidr`

Data type: `Optional[String]`



Default value: `$docker::fixed_cidr`

##### <a name="-docker--service--default_gateway"></a>`default_gateway`

Data type: `Optional[String]`



Default value: `$docker::default_gateway`

##### <a name="-docker--service--ipv6"></a>`ipv6`

Data type: `Optional[Boolean]`



Default value: `$docker::ipv6`

##### <a name="-docker--service--ipv6_cidr"></a>`ipv6_cidr`

Data type: `Optional[String]`



Default value: `$docker::ipv6_cidr`

##### <a name="-docker--service--default_gateway_ipv6"></a>`default_gateway_ipv6`

Data type: `Optional[String]`



Default value: `$docker::default_gateway_ipv6`

##### <a name="-docker--service--log_level"></a>`log_level`

Data type: `Optional[String]`



Default value: `$docker::log_level`

##### <a name="-docker--service--log_driver"></a>`log_driver`

Data type: `Optional[String]`



Default value: `$docker::log_driver`

##### <a name="-docker--service--log_opt"></a>`log_opt`

Data type: `Array`



Default value: `$docker::log_opt`

##### <a name="-docker--service--selinux_enabled"></a>`selinux_enabled`

Data type: `Optional[Boolean]`



Default value: `$docker::selinux_enabled`

##### <a name="-docker--service--labels"></a>`labels`

Data type: `Array`



Default value: `$docker::labels`

##### <a name="-docker--service--dns"></a>`dns`

Data type: `Optional[Variant[String,Array]]`



Default value: `$docker::dns`

##### <a name="-docker--service--dns_search"></a>`dns_search`

Data type: `Optional[Variant[String,Array]]`



Default value: `$docker::dns_search`

##### <a name="-docker--service--service_state"></a>`service_state`

Data type: `String`



Default value: `$docker::service_state`

##### <a name="-docker--service--service_enable"></a>`service_enable`

Data type: `Boolean`



Default value: `$docker::service_enable`

##### <a name="-docker--service--proxy"></a>`proxy`

Data type: `Optional[String]`



Default value: `$docker::proxy`

##### <a name="-docker--service--no_proxy"></a>`no_proxy`

Data type: `Optional[String]`



Default value: `$docker::no_proxy`

##### <a name="-docker--service--execdriver"></a>`execdriver`

Data type: `Optional[String]`



Default value: `$docker::execdriver`

##### <a name="-docker--service--bip"></a>`bip`

Data type: `Optional[String]`



Default value: `$docker::bip`

##### <a name="-docker--service--mtu"></a>`mtu`

Data type: `Optional[String]`



Default value: `$docker::mtu`

##### <a name="-docker--service--storage_driver"></a>`storage_driver`

Data type: `Optional[String]`



Default value: `$docker::storage_driver`

##### <a name="-docker--service--dm_basesize"></a>`dm_basesize`

Data type: `Optional[String]`



Default value: `$docker::dm_basesize`

##### <a name="-docker--service--dm_fs"></a>`dm_fs`

Data type: `Optional[String]`



Default value: `$docker::dm_fs`

##### <a name="-docker--service--dm_mkfsarg"></a>`dm_mkfsarg`

Data type: `Optional[String]`



Default value: `$docker::dm_mkfsarg`

##### <a name="-docker--service--dm_mountopt"></a>`dm_mountopt`

Data type: `Optional[String]`



Default value: `$docker::dm_mountopt`

##### <a name="-docker--service--dm_blocksize"></a>`dm_blocksize`

Data type: `Optional[String]`



Default value: `$docker::dm_blocksize`

##### <a name="-docker--service--dm_loopdatasize"></a>`dm_loopdatasize`

Data type: `Optional[String]`



Default value: `$docker::dm_loopdatasize`

##### <a name="-docker--service--dm_loopmetadatasize"></a>`dm_loopmetadatasize`

Data type: `Optional[String]`



Default value: `$docker::dm_loopmetadatasize`

##### <a name="-docker--service--dm_datadev"></a>`dm_datadev`

Data type: `Optional[String]`



Default value: `$docker::dm_datadev`

##### <a name="-docker--service--dm_metadatadev"></a>`dm_metadatadev`

Data type: `Optional[String]`



Default value: `$docker::dm_metadatadev`

##### <a name="-docker--service--tmp_dir_config"></a>`tmp_dir_config`

Data type: `Optional[Boolean]`



Default value: `$docker::tmp_dir_config`

##### <a name="-docker--service--tmp_dir"></a>`tmp_dir`

Data type: `Optional[String]`



Default value: `$docker::tmp_dir`

##### <a name="-docker--service--dm_thinpooldev"></a>`dm_thinpooldev`

Data type: `Optional[String]`



Default value: `$docker::dm_thinpooldev`

##### <a name="-docker--service--dm_use_deferred_removal"></a>`dm_use_deferred_removal`

Data type: `Optional[Boolean]`



Default value: `$docker::dm_use_deferred_removal`

##### <a name="-docker--service--dm_use_deferred_deletion"></a>`dm_use_deferred_deletion`

Data type: `Optional[Boolean]`



Default value: `$docker::dm_use_deferred_deletion`

##### <a name="-docker--service--dm_blkdiscard"></a>`dm_blkdiscard`

Data type: `Optional[Boolean]`



Default value: `$docker::dm_blkdiscard`

##### <a name="-docker--service--dm_override_udev_sync_check"></a>`dm_override_udev_sync_check`

Data type: `Optional[Boolean]`



Default value: `$docker::dm_override_udev_sync_check`

##### <a name="-docker--service--overlay2_override_kernel_check"></a>`overlay2_override_kernel_check`

Data type: `Boolean`



Default value: `$docker::overlay2_override_kernel_check`

##### <a name="-docker--service--storage_devs"></a>`storage_devs`

Data type: `Optional[String]`



Default value: `$docker::storage_devs`

##### <a name="-docker--service--storage_vg"></a>`storage_vg`

Data type: `Optional[String]`



Default value: `$docker::storage_vg`

##### <a name="-docker--service--storage_root_size"></a>`storage_root_size`

Data type: `Optional[String]`



Default value: `$docker::storage_root_size`

##### <a name="-docker--service--storage_data_size"></a>`storage_data_size`

Data type: `Optional[String]`



Default value: `$docker::storage_data_size`

##### <a name="-docker--service--storage_min_data_size"></a>`storage_min_data_size`

Data type: `Optional[String]`



Default value: `$docker::storage_min_data_size`

##### <a name="-docker--service--storage_chunk_size"></a>`storage_chunk_size`

Data type: `Optional[String]`



Default value: `$docker::storage_chunk_size`

##### <a name="-docker--service--storage_growpart"></a>`storage_growpart`

Data type: `Optional[Boolean]`



Default value: `$docker::storage_growpart`

##### <a name="-docker--service--storage_auto_extend_pool"></a>`storage_auto_extend_pool`

Data type: `Optional[String]`



Default value: `$docker::storage_auto_extend_pool`

##### <a name="-docker--service--storage_pool_autoextend_threshold"></a>`storage_pool_autoextend_threshold`

Data type: `Optional[String]`



Default value: `$docker::storage_pool_autoextend_threshold`

##### <a name="-docker--service--storage_pool_autoextend_percent"></a>`storage_pool_autoextend_percent`

Data type: `Optional[String]`



Default value: `$docker::storage_pool_autoextend_percent`

##### <a name="-docker--service--storage_config"></a>`storage_config`

Data type: `Optional[Variant[String,Boolean]]`



Default value: `$docker::storage_config`

##### <a name="-docker--service--storage_config_template"></a>`storage_config_template`

Data type: `Optional[String]`



Default value: `$docker::storage_config_template`

##### <a name="-docker--service--storage_setup_file"></a>`storage_setup_file`

Data type: `Optional[String]`



Default value: `$docker::storage_setup_file`

##### <a name="-docker--service--service_provider"></a>`service_provider`

Data type: `Optional[String]`



Default value: `$docker::service_provider`

##### <a name="-docker--service--service_config"></a>`service_config`

Data type: `Optional[Variant[String,Boolean]]`



Default value: `$docker::service_config`

##### <a name="-docker--service--service_config_template"></a>`service_config_template`

Data type: `Optional[String]`



Default value: `$docker::service_config_template`

##### <a name="-docker--service--service_overrides_template"></a>`service_overrides_template`

Data type: `Optional[Variant[String,Boolean]]`



Default value: `$docker::service_overrides_template`

##### <a name="-docker--service--socket_overrides_template"></a>`socket_overrides_template`

Data type: `Optional[Variant[String,Boolean]]`



Default value: `$docker::socket_overrides_template`

##### <a name="-docker--service--socket_override"></a>`socket_override`

Data type: `Optional[Boolean]`



Default value: `$docker::socket_override`

##### <a name="-docker--service--service_after_override"></a>`service_after_override`

Data type: `Optional[Variant[String,Boolean]]`



Default value: `$docker::service_after_override`

##### <a name="-docker--service--service_hasstatus"></a>`service_hasstatus`

Data type: `Optional[Boolean]`



Default value: `$docker::service_hasstatus`

##### <a name="-docker--service--service_hasrestart"></a>`service_hasrestart`

Data type: `Optional[Boolean]`



Default value: `$docker::service_hasrestart`

##### <a name="-docker--service--daemon_environment_files"></a>`daemon_environment_files`

Data type: `Array`



Default value: `$docker::daemon_environment_files`

##### <a name="-docker--service--tls_enable"></a>`tls_enable`

Data type: `Boolean`



Default value: `$docker::tls_enable`

##### <a name="-docker--service--tls_verify"></a>`tls_verify`

Data type: `Boolean`



Default value: `$docker::tls_verify`

##### <a name="-docker--service--tls_cacert"></a>`tls_cacert`

Data type: `Optional[String]`



Default value: `$docker::tls_cacert`

##### <a name="-docker--service--tls_cert"></a>`tls_cert`

Data type: `Optional[String]`



Default value: `$docker::tls_cert`

##### <a name="-docker--service--tls_key"></a>`tls_key`

Data type: `Optional[String]`



Default value: `$docker::tls_key`

##### <a name="-docker--service--registry_mirror"></a>`registry_mirror`

Data type: `Optional[Variant[String,Array]]`



Default value: `$docker::registry_mirror`

##### <a name="-docker--service--root_dir_flag"></a>`root_dir_flag`

Data type: `String`



Default value: `$docker::root_dir_flag`

### <a name="docker--swarms"></a>`docker::swarms`

The docker::swarms class.

#### Parameters

The following parameters are available in the `docker::swarms` class:

* [`swarms`](#-docker--swarms--swarms)

##### <a name="-docker--swarms--swarms"></a>`swarms`

Data type: `Hash`



### <a name="docker--systemd_reload"></a>`docker::systemd_reload`

For systems that have systemd

### <a name="docker--volumes"></a>`docker::volumes`

The docker::volumes class.

#### Parameters

The following parameters are available in the `docker::volumes` class:

* [`volumes`](#-docker--volumes--volumes)

##### <a name="-docker--volumes--volumes"></a>`volumes`

Data type: `Hash`



## Defined types

### <a name="docker--exec"></a>`docker::exec`

A define which executes a command inside a container.

#### Parameters

The following parameters are available in the `docker::exec` defined type:

* [`detach`](#-docker--exec--detach)
* [`interactive`](#-docker--exec--interactive)
* [`env`](#-docker--exec--env)
* [`tty`](#-docker--exec--tty)
* [`container`](#-docker--exec--container)
* [`command`](#-docker--exec--command)
* [`unless`](#-docker--exec--unless)
* [`sanitise_name`](#-docker--exec--sanitise_name)
* [`refreshonly`](#-docker--exec--refreshonly)
* [`onlyif`](#-docker--exec--onlyif)

##### <a name="-docker--exec--detach"></a>`detach`

Data type: `Boolean`



Default value: `false`

##### <a name="-docker--exec--interactive"></a>`interactive`

Data type: `Boolean`



Default value: `false`

##### <a name="-docker--exec--env"></a>`env`

Data type: `Array`



Default value: `[]`

##### <a name="-docker--exec--tty"></a>`tty`

Data type: `Boolean`



Default value: `false`

##### <a name="-docker--exec--container"></a>`container`

Data type: `Optional[String]`



Default value: `undef`

##### <a name="-docker--exec--command"></a>`command`

Data type: `Optional[String]`



Default value: `undef`

##### <a name="-docker--exec--unless"></a>`unless`

Data type: `Optional[String]`



Default value: `undef`

##### <a name="-docker--exec--sanitise_name"></a>`sanitise_name`

Data type: `Boolean`



Default value: `true`

##### <a name="-docker--exec--refreshonly"></a>`refreshonly`

Data type: `Boolean`



Default value: `false`

##### <a name="-docker--exec--onlyif"></a>`onlyif`

Data type: `Optional[String]`



Default value: `undef`

### <a name="docker--image"></a>`docker::image`

Module to install an up-to-date version of a Docker image
from the registry

#### Parameters

The following parameters are available in the `docker::image` defined type:

* [`ensure`](#-docker--image--ensure)
* [`image`](#-docker--image--image)
* [`image_tag`](#-docker--image--image_tag)
* [`image_digest`](#-docker--image--image_digest)
* [`docker_file`](#-docker--image--docker_file)
* [`docker_tar`](#-docker--image--docker_tar)
* [`force`](#-docker--image--force)
* [`docker_dir`](#-docker--image--docker_dir)

##### <a name="-docker--image--ensure"></a>`ensure`

Data type: `Enum[present,absent,latest]`

Whether you want the image present or absent.

Default value: `'present'`

##### <a name="-docker--image--image"></a>`image`

Data type: `Optional[Pattern[/^[\S]*$/]]`

If you want the name of the image to be different from the
name of the puppet resource you can pass a value here.

Default value: `$title`

##### <a name="-docker--image--image_tag"></a>`image_tag`

Data type: `Optional[String]`

If you want a specific tag of the image to be installed

Default value: `undef`

##### <a name="-docker--image--image_digest"></a>`image_digest`

Data type: `Optional[String]`

If you want a specific content digest of the image to be installed

Default value: `undef`

##### <a name="-docker--image--docker_file"></a>`docker_file`

Data type: `Optional[String]`

If you want to add a docker image from specific docker file

Default value: `undef`

##### <a name="-docker--image--docker_tar"></a>`docker_tar`

Data type: `Optional[String]`

If you want to load a docker image from specific docker tar

Default value: `undef`

##### <a name="-docker--image--force"></a>`force`

Data type: `Boolean`



Default value: `false`

##### <a name="-docker--image--docker_dir"></a>`docker_dir`

Data type: `Optional[String]`



Default value: `undef`

### <a name="docker--plugin"></a>`docker::plugin`

A define that manages a docker plugin

#### Parameters

The following parameters are available in the `docker::plugin` defined type:

* [`plugin_name`](#-docker--plugin--plugin_name)
* [`enabled`](#-docker--plugin--enabled)
* [`timeout`](#-docker--plugin--timeout)
* [`plugin_alias`](#-docker--plugin--plugin_alias)
* [`disable_on_install`](#-docker--plugin--disable_on_install)
* [`disable_content_trust`](#-docker--plugin--disable_content_trust)
* [`grant_all_permissions`](#-docker--plugin--grant_all_permissions)
* [`force_remove`](#-docker--plugin--force_remove)
* [`settings`](#-docker--plugin--settings)
* [`ensure`](#-docker--plugin--ensure)

##### <a name="-docker--plugin--plugin_name"></a>`plugin_name`

Data type: `String`

This ensures whether the plugin is installed or not.
Note that the default behaviour of docker plugin
requires a plugin be disabled before it can be removed

Default value: `$title`

##### <a name="-docker--plugin--enabled"></a>`enabled`

Data type: `Boolean`

A setting to enable or disable an installed plugin.

Default value: `true`

##### <a name="-docker--plugin--timeout"></a>`timeout`

Data type: `Optional[String]`

The number of seconds to wait when enabling a plugin

Default value: `undef`

##### <a name="-docker--plugin--plugin_alias"></a>`plugin_alias`

Data type: `Optional[String]`

An alternative name to use for an installed plugin

Default value: `undef`

##### <a name="-docker--plugin--disable_on_install"></a>`disable_on_install`

Data type: `Boolean`

Alters the default behaviour of enabling a plugin upon install

Default value: `false`

##### <a name="-docker--plugin--disable_content_trust"></a>`disable_content_trust`

Data type: `Boolean`

Skip image verification

Default value: `true`

##### <a name="-docker--plugin--grant_all_permissions"></a>`grant_all_permissions`

Data type: `Boolean`

Grant all permissions necessary to run the plugin

Default value: `true`

##### <a name="-docker--plugin--force_remove"></a>`force_remove`

Data type: `Boolean`

Force the removal of an active plugin

Default value: `true`

##### <a name="-docker--plugin--settings"></a>`settings`

Data type: `Array`

Any additional settings to pass to the plugin during install

Default value: `[]`

##### <a name="-docker--plugin--ensure"></a>`ensure`

Data type: `Enum[present,absent]`



Default value: `'present'`

### <a name="docker--registry"></a>`docker::registry`

Module to configure private docker registries from which to pull Docker images

#### Parameters

The following parameters are available in the `docker::registry` defined type:

* [`server`](#-docker--registry--server)
* [`ensure`](#-docker--registry--ensure)
* [`username`](#-docker--registry--username)
* [`password`](#-docker--registry--password)
* [`pass_hash`](#-docker--registry--pass_hash)
* [`email`](#-docker--registry--email)
* [`local_user`](#-docker--registry--local_user)
* [`local_user_home`](#-docker--registry--local_user_home)
* [`receipt`](#-docker--registry--receipt)
* [`version`](#-docker--registry--version)

##### <a name="-docker--registry--server"></a>`server`

Data type: `Optional[String]`

The hostname and port of the private Docker registry. Ex: dockerreg:5000

Default value: `$title`

##### <a name="-docker--registry--ensure"></a>`ensure`

Data type: `Enum[present,absent]`

Whether or not you want to login or logout of a repository

Default value: `'present'`

##### <a name="-docker--registry--username"></a>`username`

Data type: `Optional[String]`

Username for authentication to private Docker registry.
auth is not required.

Default value: `undef`

##### <a name="-docker--registry--password"></a>`password`

Data type: `Optional[String]`

Password for authentication to private Docker registry. Leave undef if
auth is not required.

Default value: `undef`

##### <a name="-docker--registry--pass_hash"></a>`pass_hash`

Data type: `Optional[String]`

The hash to be used for receipt. If left as undef, a hash will be generated

Default value: `undef`

##### <a name="-docker--registry--email"></a>`email`

Data type: `Optional[String]`

Email for registration to private Docker registry. Leave undef if
auth is not required.

Default value: `undef`

##### <a name="-docker--registry--local_user"></a>`local_user`

Data type: `String`

The local user to log in as. Docker will store credentials in this
users home directory

Default value: `'root'`

##### <a name="-docker--registry--local_user_home"></a>`local_user_home`

Data type: `Optional[String]`

The local user home directory.

Default value: `undef`

##### <a name="-docker--registry--receipt"></a>`receipt`

Data type: `Boolean`

Required to be true for idempotency

Default value: `true`

##### <a name="-docker--registry--version"></a>`version`

Data type: `Optional[String]`



Default value: `$docker::version`

### <a name="docker--run"></a>`docker::run`

Sets a restart policy on the docker run.
Note: If set, puppet will NOT setup an init script to manage, instead
it will do a raw docker run command using a CID file to track the container
ID.

If you want a normal named container with an init script and a restart policy
you must use the extra_parameters feature and pass it in like this:

   extra_parameters => ['--restart=always']

However, if your system is using sytemd this restart policy will be
ineffective because the ExecStop commands will run which will cause
docker to stop restarting it.  In this case you should use the
systemd_restart option to specify the policy you want.

This will allow the docker container to be restarted if it dies, without
puppet help.

(optional) Specifies the command to execute to check that the container is healthy using the docker health check functionality.
Default: undef

(optional) Specifies the interval that the health check command will execute in seconds.
Default: undef

(optional) Checks the health status of Docker container and if it is unhealthy the service will be restarted.
The health_check_cmd parameter must be set to true to use this functionality.
Default: undef

The docker network to attach to a container.
Can be a String or Array (if using multiple networks)
Default: bridge

An array of additional command line arguments to pass to the `docker run`
command. Useful for adding additional new or experimental options that the
module does not yet support.

(optional) If the container is to be managed by a systemd unit file set the
Restart option on the unit file.  Can be any valid value for this systemd
configuration.  Most commonly used are on-failure or always.
Default: on-failure

(optional) Specify an additional unless for the Docker run command when using restart.
Default: undef

(optional) Specifies the command to execute after container is created but before it is started.
Default: undef

(optional) If the container is to be managed by a systemd unit file set the
RemainAfterExit option on the unit file.  Can be any valid value for this systemd
configuration.
Default: Not included in unit file

(optional) Prepare the service and enable it as usual but do not run it right away.
Useful when building VM images using masterless Puppet and then letting the Docker images
to be downloaded when a new VM is created.
Default: false

#### Parameters

The following parameters are available in the `docker::run` defined type:

* [`restart`](#-docker--run--restart)
* [`verify_digest`](#-docker--run--verify_digest)
* [`service_prefix`](#-docker--run--service_prefix)
* [`restart_service`](#-docker--run--restart_service)
* [`restart_service_on_docker_refresh`](#-docker--run--restart_service_on_docker_refresh)
* [`manage_service`](#-docker--run--manage_service)
* [`docker_service`](#-docker--run--docker_service)
* [`health_check_cmd`](#-docker--run--health_check_cmd)
* [`health_check_interval`](#-docker--run--health_check_interval)
* [`restart_on_unhealthy`](#-docker--run--restart_on_unhealthy)
* [`net`](#-docker--run--net)
* [`extra_parameters`](#-docker--run--extra_parameters)
* [`systemd_restart`](#-docker--run--systemd_restart)
* [`custom_unless`](#-docker--run--custom_unless)
* [`after_create`](#-docker--run--after_create)
* [`remain_after_exit`](#-docker--run--remain_after_exit)
* [`prepare_service_only`](#-docker--run--prepare_service_only)
* [`image`](#-docker--run--image)
* [`ensure`](#-docker--run--ensure)
* [`command`](#-docker--run--command)
* [`memory_limit`](#-docker--run--memory_limit)
* [`cpuset`](#-docker--run--cpuset)
* [`ports`](#-docker--run--ports)
* [`labels`](#-docker--run--labels)
* [`expose`](#-docker--run--expose)
* [`volumes`](#-docker--run--volumes)
* [`links`](#-docker--run--links)
* [`use_name`](#-docker--run--use_name)
* [`running`](#-docker--run--running)
* [`volumes_from`](#-docker--run--volumes_from)
* [`username`](#-docker--run--username)
* [`hostname`](#-docker--run--hostname)
* [`env`](#-docker--run--env)
* [`env_file`](#-docker--run--env_file)
* [`dns`](#-docker--run--dns)
* [`dns_search`](#-docker--run--dns_search)
* [`lxc_conf`](#-docker--run--lxc_conf)
* [`service_provider`](#-docker--run--service_provider)
* [`disable_network`](#-docker--run--disable_network)
* [`privileged`](#-docker--run--privileged)
* [`detach`](#-docker--run--detach)
* [`extra_systemd_parameters`](#-docker--run--extra_systemd_parameters)
* [`pull_on_start`](#-docker--run--pull_on_start)
* [`after`](#-docker--run--after)
* [`after_service`](#-docker--run--after_service)
* [`depends`](#-docker--run--depends)
* [`depend_services`](#-docker--run--depend_services)
* [`tty`](#-docker--run--tty)
* [`socket_connect`](#-docker--run--socket_connect)
* [`hostentries`](#-docker--run--hostentries)
* [`before_start`](#-docker--run--before_start)
* [`before_stop`](#-docker--run--before_stop)
* [`after_start`](#-docker--run--after_start)
* [`after_stop`](#-docker--run--after_stop)
* [`remove_container_on_start`](#-docker--run--remove_container_on_start)
* [`remove_container_on_stop`](#-docker--run--remove_container_on_stop)
* [`remove_volume_on_start`](#-docker--run--remove_volume_on_start)
* [`remove_volume_on_stop`](#-docker--run--remove_volume_on_stop)
* [`stop_wait_time`](#-docker--run--stop_wait_time)
* [`syslog_identifier`](#-docker--run--syslog_identifier)
* [`syslog_facility`](#-docker--run--syslog_facility)
* [`read_only`](#-docker--run--read_only)

##### <a name="-docker--run--restart"></a>`restart`

Data type: `Optional[String]`



Default value: `undef`

##### <a name="-docker--run--verify_digest"></a>`verify_digest`

Data type: `Optional[String]`

(optional) Make sure, that the image has not modified. Compares the digest
checksum before starting the docker image.
To get the digest of an image, run the following command:
  docker image inspect <<image>> --format='{{index .RepoDigests 0}}

Default value: `undef`

##### <a name="-docker--run--service_prefix"></a>`service_prefix`

Data type: `String`

(optional) The name to prefix the startup script with and the Puppet
service resource title with.  Default: 'docker-'

Default value: `'docker-'`

##### <a name="-docker--run--restart_service"></a>`restart_service`

Data type: `Boolean`

(optional) Whether or not to restart the service if the the generated init
script changes.  Default: true

Default value: `true`

##### <a name="-docker--run--restart_service_on_docker_refresh"></a>`restart_service_on_docker_refresh`

Data type: `Boolean`

Whether or not to restart the service if the docker service is restarted.
Only has effect if the docker_service parameter is set.
Default: true

Default value: `true`

##### <a name="-docker--run--manage_service"></a>`manage_service`

Data type: `Boolean`

(optional) Whether or not to create a puppet Service resource for the init
script.  Disabling this may be useful if integrating with existing modules.
Default: true

Default value: `true`

##### <a name="-docker--run--docker_service"></a>`docker_service`

Data type: `Variant[String,Boolean]`

(optional) If (and how) the Docker service itself is managed by Puppet
true          -> Service['docker']
false         -> no Service dependency
anything else -> Service[docker_service]
Default: false

Default value: `false`

##### <a name="-docker--run--health_check_cmd"></a>`health_check_cmd`

Data type: `Optional[String]`



Default value: `undef`

##### <a name="-docker--run--health_check_interval"></a>`health_check_interval`

Data type: `Optional[Integer]`



Default value: `undef`

##### <a name="-docker--run--restart_on_unhealthy"></a>`restart_on_unhealthy`

Data type: `Boolean`



Default value: `false`

##### <a name="-docker--run--net"></a>`net`

Data type: `Variant[String,Array[String[1],1],Undef]`



Default value: `undef`

##### <a name="-docker--run--extra_parameters"></a>`extra_parameters`

Data type: `Optional[Variant[String,Array[String]]]`



Default value: `undef`

##### <a name="-docker--run--systemd_restart"></a>`systemd_restart`

Data type: `String`



Default value: `'on-failure'`

##### <a name="-docker--run--custom_unless"></a>`custom_unless`

Data type: `Variant[String,Array]`



Default value: `[]`

##### <a name="-docker--run--after_create"></a>`after_create`

Data type: `Optional[String]`



Default value: `undef`

##### <a name="-docker--run--remain_after_exit"></a>`remain_after_exit`

Data type: `Optional[String]`



Default value: `undef`

##### <a name="-docker--run--prepare_service_only"></a>`prepare_service_only`

Data type: `Boolean`



Default value: `false`

##### <a name="-docker--run--image"></a>`image`

Data type: `Optional[Pattern[/^[\S]*$/]]`



Default value: `undef`

##### <a name="-docker--run--ensure"></a>`ensure`

Data type: `Enum[present,absent]`



Default value: `'present'`

##### <a name="-docker--run--command"></a>`command`

Data type: `Optional[String]`



Default value: `undef`

##### <a name="-docker--run--memory_limit"></a>`memory_limit`

Data type: `Pattern[/^[\d]*(b|k|m|g)$/]`



Default value: `'0b'`

##### <a name="-docker--run--cpuset"></a>`cpuset`

Data type: `Variant[String,Array,Undef]`



Default value: `[]`

##### <a name="-docker--run--ports"></a>`ports`

Data type: `Variant[String,Array,Undef]`



Default value: `[]`

##### <a name="-docker--run--labels"></a>`labels`

Data type: `Variant[String,Array,Undef]`



Default value: `[]`

##### <a name="-docker--run--expose"></a>`expose`

Data type: `Variant[String,Array,Undef]`



Default value: `[]`

##### <a name="-docker--run--volumes"></a>`volumes`

Data type: `Variant[String,Array,Undef]`



Default value: `[]`

##### <a name="-docker--run--links"></a>`links`

Data type: `Variant[String,Array,Undef]`



Default value: `[]`

##### <a name="-docker--run--use_name"></a>`use_name`

Data type: `Boolean`



Default value: `false`

##### <a name="-docker--run--running"></a>`running`

Data type: `Boolean`



Default value: `true`

##### <a name="-docker--run--volumes_from"></a>`volumes_from`

Data type: `Variant[String,Array]`



Default value: `[]`

##### <a name="-docker--run--username"></a>`username`

Data type: `Variant[String,Boolean]`



Default value: `false`

##### <a name="-docker--run--hostname"></a>`hostname`

Data type: `Variant[String,Boolean]`



Default value: `false`

##### <a name="-docker--run--env"></a>`env`

Data type: `Variant[String,Array]`



Default value: `[]`

##### <a name="-docker--run--env_file"></a>`env_file`

Data type: `Variant[String,Array]`



Default value: `[]`

##### <a name="-docker--run--dns"></a>`dns`

Data type: `Variant[String,Array]`



Default value: `[]`

##### <a name="-docker--run--dns_search"></a>`dns_search`

Data type: `Variant[String,Array]`



Default value: `[]`

##### <a name="-docker--run--lxc_conf"></a>`lxc_conf`

Data type: `Variant[String,Array]`



Default value: `[]`

##### <a name="-docker--run--service_provider"></a>`service_provider`

Data type: `Optional[String]`



Default value: `undef`

##### <a name="-docker--run--disable_network"></a>`disable_network`

Data type: `Boolean`



Default value: `false`

##### <a name="-docker--run--privileged"></a>`privileged`

Data type: `Boolean`



Default value: `false`

##### <a name="-docker--run--detach"></a>`detach`

Data type: `Optional[Boolean]`



Default value: `undef`

##### <a name="-docker--run--extra_systemd_parameters"></a>`extra_systemd_parameters`

Data type: `Variant[String,Hash]`



Default value: `{}`

##### <a name="-docker--run--pull_on_start"></a>`pull_on_start`

Data type: `Boolean`



Default value: `false`

##### <a name="-docker--run--after"></a>`after`

Data type: `Variant[String,Array]`



Default value: `[]`

##### <a name="-docker--run--after_service"></a>`after_service`

Data type: `Variant[String,Array]`



Default value: `[]`

##### <a name="-docker--run--depends"></a>`depends`

Data type: `Variant[String,Array]`



Default value: `[]`

##### <a name="-docker--run--depend_services"></a>`depend_services`

Data type: `Variant[String,Array]`



Default value: `['docker.service']`

##### <a name="-docker--run--tty"></a>`tty`

Data type: `Boolean`



Default value: `false`

##### <a name="-docker--run--socket_connect"></a>`socket_connect`

Data type: `Variant[String,Array]`



Default value: `[]`

##### <a name="-docker--run--hostentries"></a>`hostentries`

Data type: `Variant[String,Array]`



Default value: `[]`

##### <a name="-docker--run--before_start"></a>`before_start`

Data type: `Variant[String,Boolean]`



Default value: `false`

##### <a name="-docker--run--before_stop"></a>`before_stop`

Data type: `Variant[String,Boolean]`



Default value: `false`

##### <a name="-docker--run--after_start"></a>`after_start`

Data type: `Variant[String,Boolean]`



Default value: `false`

##### <a name="-docker--run--after_stop"></a>`after_stop`

Data type: `Variant[String,Boolean]`



Default value: `false`

##### <a name="-docker--run--remove_container_on_start"></a>`remove_container_on_start`

Data type: `Boolean`



Default value: `true`

##### <a name="-docker--run--remove_container_on_stop"></a>`remove_container_on_stop`

Data type: `Boolean`



Default value: `true`

##### <a name="-docker--run--remove_volume_on_start"></a>`remove_volume_on_start`

Data type: `Boolean`



Default value: `false`

##### <a name="-docker--run--remove_volume_on_stop"></a>`remove_volume_on_stop`

Data type: `Boolean`



Default value: `false`

##### <a name="-docker--run--stop_wait_time"></a>`stop_wait_time`

Data type: `Integer`



Default value: `10`

##### <a name="-docker--run--syslog_identifier"></a>`syslog_identifier`

Data type: `Optional[String]`



Default value: `undef`

##### <a name="-docker--run--syslog_facility"></a>`syslog_facility`

Data type: `Optional[String]`



Default value: `undef`

##### <a name="-docker--run--read_only"></a>`read_only`

Data type: `Boolean`



Default value: `false`

### <a name="docker--secrets"></a>`docker::secrets`

The docker::secrets class.

#### Parameters

The following parameters are available in the `docker::secrets` defined type:

* [`ensure`](#-docker--secrets--ensure)
* [`label`](#-docker--secrets--label)
* [`secret_name`](#-docker--secrets--secret_name)
* [`secret_path`](#-docker--secrets--secret_path)

##### <a name="-docker--secrets--ensure"></a>`ensure`

Data type: `Enum[present,absent]`



Default value: `'present'`

##### <a name="-docker--secrets--label"></a>`label`

Data type: `Variant[String,Array]`



Default value: `[]`

##### <a name="-docker--secrets--secret_name"></a>`secret_name`

Data type: `Optional[String]`



Default value: `undef`

##### <a name="-docker--secrets--secret_path"></a>`secret_path`

Data type: `Optional[String]`



Default value: `undef`

### <a name="docker--services"></a>`docker::services`

define that managers a Docker services

#### Parameters

The following parameters are available in the `docker::services` defined type:

* [`ensure`](#-docker--services--ensure)
* [`image`](#-docker--services--image)
* [`detach`](#-docker--services--detach)
* [`env`](#-docker--services--env)
* [`label`](#-docker--services--label)
* [`publish`](#-docker--services--publish)
* [`replicas`](#-docker--services--replicas)
* [`tty`](#-docker--services--tty)
* [`user`](#-docker--services--user)
* [`workdir`](#-docker--services--workdir)
* [`extra_params`](#-docker--services--extra_params)
* [`update`](#-docker--services--update)
* [`scale`](#-docker--services--scale)
* [`host_socket`](#-docker--services--host_socket)
* [`registry_mirror`](#-docker--services--registry_mirror)
* [`mounts`](#-docker--services--mounts)
* [`networks`](#-docker--services--networks)
* [`command`](#-docker--services--command)
* [`create`](#-docker--services--create)
* [`service_name`](#-docker--services--service_name)

##### <a name="-docker--services--ensure"></a>`ensure`

Data type: `Enum[present,absent]`

This ensures that the service is present or not.

Default value: `'present'`

##### <a name="-docker--services--image"></a>`image`

Data type: `Optional[Variant[String,Array]]`

The Docker image to spwan the service from.

Default value: `undef`

##### <a name="-docker--services--detach"></a>`detach`

Data type: `Boolean`

Exit immediately instead of waiting for the service to converge (default true)

Default value: `true`

##### <a name="-docker--services--env"></a>`env`

Data type: `Array`

Set environment variables

Default value: `[]`

##### <a name="-docker--services--label"></a>`label`

Data type: `Array`

Service labels.
This used as metdata to configure constraints etc.

Default value: `[]`

##### <a name="-docker--services--publish"></a>`publish`

Data type: `Optional[Variant[String,Array]]`

Publish port(s) as node ports.

Default value: `undef`

##### <a name="-docker--services--replicas"></a>`replicas`

Data type: `Optional[Variant[String,Array]]`

Number of tasks (containers per service)

Default value: `undef`

##### <a name="-docker--services--tty"></a>`tty`

Data type: `Boolean`

Allocate a pseudo-TTY

Default value: `false`

##### <a name="-docker--services--user"></a>`user`

Data type: `Optional[Variant[String,Array]]`

Username or UID (format: <name|uid>[:<group|gid>])

Default value: `undef`

##### <a name="-docker--services--workdir"></a>`workdir`

Data type: `Optional[Variant[String,Array]]`

Working directory inside the container

Default value: `undef`

##### <a name="-docker--services--extra_params"></a>`extra_params`

Data type: `Array`

Allows you to pass any other flag that the Docker service create supports.
This must be passed as an array. See docker service create --help for all options

Default value: `[]`

##### <a name="-docker--services--update"></a>`update`

Data type: `Boolean`

This changes the docker command to
docker service update, you must pass a service name with this option

Default value: `false`

##### <a name="-docker--services--scale"></a>`scale`

Data type: `Boolean`

This changes the docker command to
docker service scale, this can only be used with service name and
replicas

Default value: `false`

##### <a name="-docker--services--host_socket"></a>`host_socket`

Data type: `Optional[Variant[String,Array]]`

This will allow the service to connect to the host linux socket.

Default value: `undef`

##### <a name="-docker--services--registry_mirror"></a>`registry_mirror`

Data type: `Optional[Variant[String,Array]]`

This will allow the service to set a registry mirror.

Default value: `undef`

##### <a name="-docker--services--mounts"></a>`mounts`

Data type: `Optional[Variant[String,Array]]`

Allows attaching filesystem mounts to the service (specified as an array)

Default value: `undef`

##### <a name="-docker--services--networks"></a>`networks`

Data type: `Optional[Array]`

Allows attaching the service to networks (specified as an array)

Default value: `undef`

##### <a name="-docker--services--command"></a>`command`

Data type: `Optional[Variant[String,Array]]`

Command to run on the container

Default value: `undef`

##### <a name="-docker--services--create"></a>`create`

Data type: `Boolean`



Default value: `true`

##### <a name="-docker--services--service_name"></a>`service_name`

Data type: `Optional[Variant[String,Array]]`



Default value: `undef`

### <a name="docker--stack"></a>`docker::stack`

deploys Docker stacks or compose v3

#### Parameters

The following parameters are available in the `docker::stack` defined type:

* [`ensure`](#-docker--stack--ensure)
* [`stack_name`](#-docker--stack--stack_name)
* [`bundle_file`](#-docker--stack--bundle_file)
* [`prune`](#-docker--stack--prune)
* [`resolve_image`](#-docker--stack--resolve_image)
* [`with_registry_auth`](#-docker--stack--with_registry_auth)
* [`compose_files`](#-docker--stack--compose_files)

##### <a name="-docker--stack--ensure"></a>`ensure`

Data type: `Enum[present,absent]`

This ensures that the stack is present or not.

Default value: `'present'`

##### <a name="-docker--stack--stack_name"></a>`stack_name`

Data type: `Optional[String]`

The name of the stack that you are deploying

Default value: `undef`

##### <a name="-docker--stack--bundle_file"></a>`bundle_file`

Data type: `Optional[String]`

Path to a Distributed Application Bundle file
Please note this is experimental

Default value: `undef`

##### <a name="-docker--stack--prune"></a>`prune`

Data type: `Boolean`

Prune services that are no longer referenced

Default value: `false`

##### <a name="-docker--stack--resolve_image"></a>`resolve_image`

Data type: `Optional[Enum['always','changed','never']]`

Query the registry to resolve image digest and supported platforms
Only accepts ("always"|"changed"|"never")

Default value: `undef`

##### <a name="-docker--stack--with_registry_auth"></a>`with_registry_auth`

Data type: `Boolean`

Send registry authentication details to Swarm agents

Default value: `false`

##### <a name="-docker--stack--compose_files"></a>`compose_files`

Data type: `Optional[Array]`



Default value: `undef`

### <a name="docker--swarm"></a>`docker::swarm`

managers a Docker Swarm Mode cluster

#### Parameters

The following parameters are available in the `docker::swarm` defined type:

* [`ensure`](#-docker--swarm--ensure)
* [`init`](#-docker--swarm--init)
* [`join`](#-docker--swarm--join)
* [`advertise_addr`](#-docker--swarm--advertise_addr)
* [`autolock`](#-docker--swarm--autolock)
* [`cert_expiry`](#-docker--swarm--cert_expiry)
* [`default_addr_pool`](#-docker--swarm--default_addr_pool)
* [`default_addr_pool_mask_length`](#-docker--swarm--default_addr_pool_mask_length)
* [`dispatcher_heartbeat`](#-docker--swarm--dispatcher_heartbeat)
* [`external_ca`](#-docker--swarm--external_ca)
* [`force_new_cluster`](#-docker--swarm--force_new_cluster)
* [`listen_addr`](#-docker--swarm--listen_addr)
* [`max_snapshots`](#-docker--swarm--max_snapshots)
* [`snapshot_interval`](#-docker--swarm--snapshot_interval)
* [`token`](#-docker--swarm--token)
* [`manager_ip`](#-docker--swarm--manager_ip)

##### <a name="-docker--swarm--ensure"></a>`ensure`

Data type: `Enum[present,absent]`

This ensures that the cluster is present or not.
Note this forcefully removes a node from the cluster. Make sure all worker nodes
have been removed before managers

Default value: `'present'`

##### <a name="-docker--swarm--init"></a>`init`

Data type: `Boolean`

This creates the first worker node for a new cluster.
Set init to true to create a new cluster

Default value: `false`

##### <a name="-docker--swarm--join"></a>`join`

Data type: `Boolean`

This adds either a worker or manger node to the cluster.
The role of the node is defined by the join token.
Set to true to join the cluster

Default value: `false`

##### <a name="-docker--swarm--advertise_addr"></a>`advertise_addr`

Data type: `Optional[String]`

The address that your node will advertise to the cluster for raft.
On multihomed servers this flag must be passed

Default value: `undef`

##### <a name="-docker--swarm--autolock"></a>`autolock`

Data type: `Boolean`

Enable manager autolocking (requiring an unlock key to start a stopped manager)

Default value: `false`

##### <a name="-docker--swarm--cert_expiry"></a>`cert_expiry`

Data type: `Optional[String]`

Validity period for node certificates (ns|us|ms|s|m|h) (default 2160h0m0s)

Default value: `undef`

##### <a name="-docker--swarm--default_addr_pool"></a>`default_addr_pool`

Data type: `Optional[Array]`

Array of default subnet pools for global scope networks (['30.30.0.0/16','40.40.0.0/16'])

Default value: `undef`

##### <a name="-docker--swarm--default_addr_pool_mask_length"></a>`default_addr_pool_mask_length`

Data type: `Optional[String]`

Default subnet pools mask length for default-addr-pools (CIDR block number)

Default value: `undef`

##### <a name="-docker--swarm--dispatcher_heartbeat"></a>`dispatcher_heartbeat`

Data type: `Optional[String]`

Dispatcher heartbeat period (ns|us|ms|s|m|h) (default 5s)

Default value: `undef`

##### <a name="-docker--swarm--external_ca"></a>`external_ca`

Data type: `Optional[String]`

Specifications of one or more certificate signing endpoints

Default value: `undef`

##### <a name="-docker--swarm--force_new_cluster"></a>`force_new_cluster`

Data type: `Boolean`

Force create a new cluster from current state

Default value: `false`

##### <a name="-docker--swarm--listen_addr"></a>`listen_addr`

Data type: `Optional[String]`

The address that your node will listen to the cluster for raft.
On multihomed servers this flag must be passed

Default value: `undef`

##### <a name="-docker--swarm--max_snapshots"></a>`max_snapshots`

Data type: `Optional[String]`

Number of additional Raft snapshots to retain

Default value: `undef`

##### <a name="-docker--swarm--snapshot_interval"></a>`snapshot_interval`

Data type: `Optional[String]`

Number of log entries between Raft snapshots (default 10000)

Default value: `undef`

##### <a name="-docker--swarm--token"></a>`token`

Data type: `Optional[String]`

The authentication token to join the cluster. The token also defines the type of
node (worker or manager)

Default value: `undef`

##### <a name="-docker--swarm--manager_ip"></a>`manager_ip`

Data type: `Optional[String]`

The ip address of a manager node to join the cluster.

Default value: `undef`

### <a name="docker--system_user"></a>`docker::system_user`

manage docker group users

#### Parameters

The following parameters are available in the `docker::system_user` defined type:

* [`create_user`](#-docker--system_user--create_user)

##### <a name="-docker--system_user--create_user"></a>`create_user`

Data type: `Boolean`

Boolean to cotrol whether the user should be created

Default value: `true`

### <a name="docker--windows_account"></a>`docker::windows_account`

Windows account that owns the docker services

## Resource types

### <a name="docker_compose"></a>`docker_compose`

A type representing a Docker Compose file

#### Properties

The following properties are available in the `docker_compose` type.

##### `ensure`

Valid values: `present`, `absent`

The basic property that the resource should be in.

Default value: `present`

#### Parameters

The following parameters are available in the `docker_compose` type.

* [`compose_files`](#-docker_compose--compose_files)
* [`name`](#-docker_compose--name)
* [`options`](#-docker_compose--options)
* [`provider`](#-docker_compose--provider)
* [`scale`](#-docker_compose--scale)
* [`tmpdir`](#-docker_compose--tmpdir)
* [`up_args`](#-docker_compose--up_args)

##### <a name="-docker_compose--compose_files"></a>`compose_files`

An array of Docker Compose Files paths.

##### <a name="-docker_compose--name"></a>`name`

namevar

The name of the project

##### <a name="-docker_compose--options"></a>`options`

Additional options to be passed directly to docker-compose.

##### <a name="-docker_compose--provider"></a>`provider`

The specific backend to use for this `docker_compose` resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.

##### <a name="-docker_compose--scale"></a>`scale`

A hash of compose services and number of containers.

##### <a name="-docker_compose--tmpdir"></a>`tmpdir`

Override the temporary directory used by docker-compose.

This property is useful when the /tmp directory has been mounted
with the noexec option. Or is otherwise being prevented  It allows the module consumer to redirect
docker-composes temporary files to a known directory.

The directory passed to this property must exist and be accessible
by the user that is executing the puppet agent.

##### <a name="-docker_compose--up_args"></a>`up_args`

Arguments to be passed directly to docker-compose up.

### <a name="docker_network"></a>`docker_network`

Type representing a Docker network

#### Properties

The following properties are available in the `docker_network` type.

##### `driver`

The network driver used by the network

##### `ensure`

Valid values: `present`, `absent`

The basic property that the resource should be in.

Default value: `present`

##### `id`

The ID of the network provided by Docker

##### `ipam_driver`

The IPAM (IP Address Management) driver

#### Parameters

The following parameters are available in the `docker_network` type.

* [`additional_flags`](#-docker_network--additional_flags)
* [`aux_address`](#-docker_network--aux_address)
* [`gateway`](#-docker_network--gateway)
* [`ip_range`](#-docker_network--ip_range)
* [`name`](#-docker_network--name)
* [`options`](#-docker_network--options)
* [`provider`](#-docker_network--provider)
* [`subnet`](#-docker_network--subnet)

##### <a name="-docker_network--additional_flags"></a>`additional_flags`

Additional flags for the 'docker network create'

##### <a name="-docker_network--aux_address"></a>`aux_address`

Auxiliary ipv4 or ipv6 addresses used by the Network driver

##### <a name="-docker_network--gateway"></a>`gateway`

An ipv4 or ipv6 gateway for the server subnet

##### <a name="-docker_network--ip_range"></a>`ip_range`

The range of IP addresses used by the network

##### <a name="-docker_network--name"></a>`name`

namevar

The name of the network

##### <a name="-docker_network--options"></a>`options`

Additional options for the network driver

##### <a name="-docker_network--provider"></a>`provider`

The specific backend to use for this `docker_network` resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.

##### <a name="-docker_network--subnet"></a>`subnet`

The subnet in CIDR format that represents a network segment

### <a name="docker_stack"></a>`docker_stack`

A type representing a Docker Stack

#### Properties

The following properties are available in the `docker_stack` type.

##### `ensure`

Valid values: `present`, `absent`

The basic property that the resource should be in.

Default value: `present`

#### Parameters

The following parameters are available in the `docker_stack` type.

* [`bundle_file`](#-docker_stack--bundle_file)
* [`compose_files`](#-docker_stack--compose_files)
* [`name`](#-docker_stack--name)
* [`provider`](#-docker_stack--provider)
* [`up_args`](#-docker_stack--up_args)

##### <a name="-docker_stack--bundle_file"></a>`bundle_file`

Path to a Distributed Application Bundle file.

##### <a name="-docker_stack--compose_files"></a>`compose_files`

An array of Docker Compose Files paths.

##### <a name="-docker_stack--name"></a>`name`

namevar

The name of the stack

##### <a name="-docker_stack--provider"></a>`provider`

The specific backend to use for this `docker_stack` resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.

##### <a name="-docker_stack--up_args"></a>`up_args`

Arguments to be passed directly to docker stack deploy.

### <a name="docker_volume"></a>`docker_volume`

A type representing a Docker volume

#### Properties

The following properties are available in the `docker_volume` type.

##### `driver`

The volume driver used by the volume

##### `ensure`

Valid values: `present`, `absent`

The basic property that the resource should be in.

Default value: `present`

##### `mountpoint`

The location that the volume is mounted to

#### Parameters

The following parameters are available in the `docker_volume` type.

* [`name`](#-docker_volume--name)
* [`options`](#-docker_volume--options)
* [`provider`](#-docker_volume--provider)

##### <a name="-docker_volume--name"></a>`name`

namevar

The name of the volume

##### <a name="-docker_volume--options"></a>`options`

Additional options for the volume driver

##### <a name="-docker_volume--provider"></a>`provider`

The specific backend to use for this `docker_volume` resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.

## Functions

### <a name="docker--env"></a>`docker::env`

Type: Ruby 4.x API

The docker::env function.

#### `docker::env(Array $args)`

The docker::env function.

Returns: `Array`

##### `args`

Data type: `Array`



### <a name="docker--escape"></a>`docker::escape`

Type: Ruby 3.x API

The docker::escape function.

#### `docker::escape()`

The docker::escape function.

Returns: `Any`

### <a name="docker--sanitised_name"></a>`docker::sanitised_name`

Type: Puppet Language

== Function: docker::sanitised_name

Function to sanitise container name.

=== Parameters

[*name*]
  Name to sanitise

#### `docker::sanitised_name(Any $name)`

== Function: docker::sanitised_name

Function to sanitise container name.

=== Parameters

[*name*]
  Name to sanitise

Returns: `Any`

##### `name`

Data type: `Any`



### <a name="docker_exec_flags"></a>`docker_exec_flags`

Type: Ruby 3.x API

Transforms a hash into a string of docker exec flags

#### `docker_exec_flags()`

Transforms a hash into a string of docker exec flags

Returns: `Any`

### <a name="docker_params_changed"></a>`docker_params_changed`

Type: Ruby 4.x API

The docker_params_changed function.

#### `docker_params_changed(Hash $opts)`

The docker_params_changed function.

Returns: `String`

##### `opts`

Data type: `Hash`



### <a name="docker_plugin_enable_flags"></a>`docker_plugin_enable_flags`

Type: Ruby 3.x API

Transforms a hash into a string of docker plugin remove flags

#### `docker_plugin_enable_flags()`

Transforms a hash into a string of docker plugin remove flags

Returns: `Any`

### <a name="docker_plugin_install_flags"></a>`docker_plugin_install_flags`

Type: Ruby 3.x API

Transforms a hash into a string of docker plugin install flags

#### `docker_plugin_install_flags()`

Transforms a hash into a string of docker plugin install flags

Returns: `Any`

### <a name="docker_plugin_remove_flags"></a>`docker_plugin_remove_flags`

Type: Ruby 3.x API

Transforms a hash into a string of docker plugin remove flags

#### `docker_plugin_remove_flags()`

Transforms a hash into a string of docker plugin remove flags

Returns: `Any`

### <a name="docker_run_flags"></a>`docker_run_flags`

Type: Ruby 3.x API

Transforms a hash into a string of docker flags

#### `docker_run_flags()`

Transforms a hash into a string of docker flags

Returns: `Any`

### <a name="docker_secrets_flags"></a>`docker_secrets_flags`

Type: Ruby 3.x API

Transforms a hash into a string of docker swarm init flags

#### `docker_secrets_flags()`

Transforms a hash into a string of docker swarm init flags

Returns: `Any`

### <a name="docker_service_flags"></a>`docker_service_flags`

Type: Ruby 3.x API

Transforms a hash into a string of docker swarm init flags

#### `docker_service_flags()`

Transforms a hash into a string of docker swarm init flags

Returns: `Any`

### <a name="docker_stack_flags"></a>`docker_stack_flags`

Type: Ruby 3.x API

Transforms a hash into a string of docker stack flags

#### `docker_stack_flags()`

Transforms a hash into a string of docker stack flags

Returns: `Any`

### <a name="docker_swarm_init_flags"></a>`docker_swarm_init_flags`

Type: Ruby 3.x API

Transforms a hash into a string of docker swarm init flags

#### `docker_swarm_init_flags()`

Transforms a hash into a string of docker swarm init flags

Returns: `Any`

### <a name="docker_swarm_join_flags"></a>`docker_swarm_join_flags`

Type: Ruby 3.x API

Transforms a hash into a string of docker swarm init flags

#### `docker_swarm_join_flags()`

Transforms a hash into a string of docker swarm init flags

Returns: `Any`

## Tasks

### <a name="node_ls"></a>`node_ls`

List nodes in the swarm

**Supports noop?** false

#### Parameters

##### `filter`

Data type: `Optional[String[1]]`

Filter output based on conditions provided

##### `quiet`

Data type: `Optional[Boolean]`

Only display IDs

### <a name="node_rm"></a>`node_rm`

Update a node

**Supports noop?** false

#### Parameters

##### `force`

Data type: `Optional[Boolean]`

Force remove a node from the swarm

##### `node`

Data type: `String[1]`

Hostname or ID of the node in the swarm

### <a name="node_update"></a>`node_update`

Update a node

**Supports noop?** false

#### Parameters

##### `availability`

Data type: `Optional[Enum['active', 'pause', 'drain']]`

Availability of the node

##### `role`

Data type: `Optional[Enum['manager', 'worker']]`

Role of the node

##### `label_add`

Data type: `Optional[Array]`

Add or update a node label (key=value)

##### `label_rm`

Data type: `Optional[Array]`

Remove a node label if exists.

##### `node`

Data type: `String[1]`

ID of the node in the swarm

### <a name="service_create"></a>`service_create`

Create a new Docker service

**Supports noop?** false

#### Parameters

##### `service`

Data type: `String[1]`

The name of the service to create

##### `image`

Data type: `String[1]`

The new image to use for the service

##### `replicas`

Data type: `Integer`

Number of replicas

##### `expose`

Data type: `Variant[String,Array,Undef]`

Publish service ports externally to the swarm

##### `env`

Data type: `Optional[Hash]`

Set environment variables

##### `command`

Data type: `Variant[String,Array,Undef]`

Command to run on the container

##### `extra_params`

Data type: `Optional[Array]`

Allows you to pass any other flag that the Docker service create supports.

##### `detach`

Data type: `Optional[Boolean]`

Exit immediately instead of waiting for the service to converge

### <a name="service_rm"></a>`service_rm`

Remove one replicated service

**Supports noop?** false

#### Parameters

##### `service`

Data type: `String[1]`

Name or ID of the service

### <a name="service_scale"></a>`service_scale`

Scale one replicated service

**Supports noop?** false

#### Parameters

##### `service`

Data type: `String[1]`

Name or ID of the service

##### `scale`

Data type: `Integer`

Number of replicas

##### `detach`

Data type: `Optional[Boolean]`

Exit immediately instead of waiting for the service to converge

### <a name="service_update"></a>`service_update`

Updates an existing service.

**Supports noop?** false

#### Parameters

##### `service`

Data type: `String[1]`

The service to update

##### `image`

Data type: `String[1]`

The new image to use for the service

##### `constraint_add`

Data type: `Optional[Array]`

Add or update a service constraint (selector==value, selector!=value)

##### `constraint_rm`

Data type: `Optional[Array]`

Remove a service constraint if exists.

### <a name="swarm_init"></a>`swarm_init`

Initializes a swarm

**Supports noop?** false

#### Parameters

##### `advertise_addr`

Data type: `Optional[String[1]]`

Advertised address

##### `autolock`

Data type: `Optional[Boolean]`

Enable manager autolocking

##### `cert_expiry`

Data type: `Optional[String[1]]`

Validity period for node certificates

##### `dispatcher_heartbeat`

Data type: `Optional[String[1]]`

Dispatcher heartbeat period

##### `external_ca`

Data type: `Optional[String[1]]`

Specifications of one or more certificate signing endpoints

##### `force_new_cluster`

Data type: `Optional[Boolean]`

Force create a new cluster from current state

##### `listen_addr`

Data type: `Optional[String[1]]`

Listen address

##### `max_snapshots`

Data type: `Optional[Integer[1]]`

Number of additional Raft snapshots to retain

##### `snapshot_interval`

Data type: `Optional[Integer[1]]`

Number of log entries between Raft snapshots

### <a name="swarm_join"></a>`swarm_join`

Join a swarm

**Supports noop?** false

#### Parameters

##### `advertise_addr`

Data type: `Optional[String[1]]`

Advertised address

##### `listen_addr`

Data type: `Optional[String[1]]`

Listen address

##### `token`

Data type: `String[1]`

Join token for the swarm

##### `manager_ip`

Data type: `String[1]`

IP Address of the swarm manager

### <a name="swarm_leave"></a>`swarm_leave`

Leave a swarm

**Supports noop?** false

#### Parameters

##### `force`

Data type: `Optional[Boolean]`

Force this node to leave the swarm, ignoring warnings

### <a name="swarm_token"></a>`swarm_token`

Gets the swarm token from the server

**Supports noop?** false

#### Parameters

##### `node_role`

Data type: `String[1]`

The role of the node joining the swarm

### <a name="swarm_update"></a>`swarm_update`

Updates an existing service.

**Supports noop?** false

#### Parameters

##### `service`

Data type: `String[1]`

The service to update

##### `image`

Data type: `String[1]`

The new image to use for the service

