vault-config-file

Description

Configuration for a Hashicorp Vault service.

Variables

Name Type Default Description

path

string --

The path to the file. Required

disable_listener_tcp_tls

boolean --

Specifies if TLS will be disabled. Vault assumes TLS by default, so you must explicitly disable TLS to opt-in to insecure communication.

disable_mlock

boolean --

Whether to disable 'mlock' for this Vault instance.

group

string --

The group of the file.

listener_tcp_address

string 0.0.0.0:8200

Specifies the address to bind to for listening.

mode

string --

The permissions of the file.

owner

string --

The owner of the file.

ui

boolean --

Whether to enable the Vault UI on this machine.

Code

doc:
  short_help: Configuration for a Hashicorp Vault service.

args:
  listener_tcp_address:
    doc:
      short_help: Specifies the address to bind to for listening.
    type: string
    required: true
    default: 0.0.0.0:8200
  disable_listener_tcp_tls:
    doc:
      short_help: Specifies if TLS will be disabled.
      help: |
        Specifies if TLS will be disabled. Vault assumes TLS by default, so you must explicitly disable TLS to opt-in to insecure communication.
    type: boolean
    required: false
  ui:
    doc:
      short_help: Whether to enable the Vault UI on this machine.
    type: boolean
    required: false
  disable_mlock:
    doc:
      short_help: Whether to disable 'mlock' for this Vault instance.
    type: boolean
    required: false
  _import:
  - file-with-content
frecklets:
- file-with-content:
    path: '{{:: path ::}}'
    group: '{{:: group ::}}'
    owner: '{{:: owner ::}}'
    mode: '{{:: mode ::}}'
    content: |-
      listener "tcp" {
        address       = "{{:: listener_tcp_address ::}}"
        {%:: if disable_listener_tcp_tls is defined ::%}tls_disable = {%:: if disable_listener_tcp_tls ::%}true{%:: else ::%}false{%:: endif ::%}{%:: endif ::%}
      }
      storage "consul" {
      }

      {%:: if ui is defined ::%}ui = {%:: if ui ::%}true{%:: else ::%}false{%:: endif ::%}
      {%:: endif ::%}
      {%:: if disable_mlock is defined ::%}disable_mlock = {%:: if disable_mlock ::%}true{%:: else ::%}false{%:: endif ::%}
      {%:: endif ::%}
frecklecute vault-config-file --help

Usage: frecklecute vault-config-file [OPTIONS] PATH

  Configuration for a Hashicorp Vault service.

Options:
  --disable-listener-tcp-tls / --no-disable-listener-tcp-tls
                                  Specifies if TLS will be disabled.
  --disable-mlock / --no-disable-mlock
                                  Whether to disable 'mlock' for this Vault
                                  instance.
  --group GROUP                   The group of the file.
  --listener-tcp-address LISTENER_TCP_ADDRESS
                                  Specifies the address to bind to for
                                  listening.
  --mode MODE                     The permissions of the file.
  --owner USER                    The owner of the file.
  --ui / --no-ui                  Whether to enable the Vault UI on this
                                  machine.
  --help                          Show this message and exit.
# -*- coding: utf-8 -*-


#
# module path: pycklets.vault_config_file.VaultConfigFile
#


from dataclasses import dataclass
from pyckles import AutoPycklet
from typing import *    # noqa

@dataclass
class VaultConfigFile(AutoPycklet):
    """Configuration for a Hashicorp Vault service.

       Args:
         disable_listener_tcp_tls: Specifies if TLS will be disabled.
         disable_mlock: Whether to disable 'mlock' for this Vault instance.
         group: The group of the file.
         listener_tcp_address: Specifies the address to bind to for listening.
         mode: The permissions of the file.
         owner: The owner of the file.
         path: The path to the file.
         ui: Whether to enable the Vault UI on this machine.

    """

    FRECKLET_ID = "vault-config-file"

    disable_listener_tcp_tls: bool = None
    disable_mlock: bool = None
    group: str = None
    listener_tcp_address: str = None
    mode: str = None
    owner: str = None
    path: str = None
    ui: bool = None


    def __post_init__(self):
        super(VaultConfigFile, self).__init__(var_names=["disable_listener_tcp_tls", "disable_mlock", "group", "listener_tcp_address", "mode", "owner", "path", "ui"])


frecklet_class = VaultConfigFile
# -*- coding: utf-8 -*-


#
# module path: pycklets.vault_config_file.VaultConfigFile
#


from pyckles import AutoPycklet

class VaultConfigFile(AutoPycklet):
    """Configuration for a Hashicorp Vault service.

       Args:
         disable_listener_tcp_tls: Specifies if TLS will be disabled.
         disable_mlock: Whether to disable 'mlock' for this Vault instance.
         group: The group of the file.
         listener_tcp_address: Specifies the address to bind to for listening.
         mode: The permissions of the file.
         owner: The owner of the file.
         path: The path to the file.
         ui: Whether to enable the Vault UI on this machine.

    """

    FRECKLET_ID = "vault-config-file"

    def __init__(self, disable_listener_tcp_tls=None, disable_mlock=None, group=None, listener_tcp_address="0.0.0.0:8200", mode=None, owner=None, path=None, ui=None):

        super(VaultConfigFile, self).__init__(var_names=["disable_listener_tcp_tls", "disable_mlock", "group", "listener_tcp_address", "mode", "owner", "path", "ui"])
        self._disable_listener_tcp_tls = disable_listener_tcp_tls
        self._disable_mlock = disable_mlock
        self._group = group
        self._listener_tcp_address = listener_tcp_address
        self._mode = mode
        self._owner = owner
        self._path = path
        self._ui = ui

    @property
    def disable_listener_tcp_tls(self):
        return self._disable_listener_tcp_tls

    @disable_listener_tcp_tls.setter
    def disable_listener_tcp_tls(self, disable_listener_tcp_tls):
        self._disable_listener_tcp_tls = disable_listener_tcp_tls

    @property
    def disable_mlock(self):
        return self._disable_mlock

    @disable_mlock.setter
    def disable_mlock(self, disable_mlock):
        self._disable_mlock = disable_mlock

    @property
    def group(self):
        return self._group

    @group.setter
    def group(self, group):
        self._group = group

    @property
    def listener_tcp_address(self):
        return self._listener_tcp_address

    @listener_tcp_address.setter
    def listener_tcp_address(self, listener_tcp_address):
        self._listener_tcp_address = listener_tcp_address

    @property
    def mode(self):
        return self._mode

    @mode.setter
    def mode(self, mode):
        self._mode = mode

    @property
    def owner(self):
        return self._owner

    @owner.setter
    def owner(self, owner):
        self._owner = owner

    @property
    def path(self):
        return self._path

    @path.setter
    def path(self, path):
        self._path = path

    @property
    def ui(self):
        return self._ui

    @ui.setter
    def ui(self, ui):
        self._ui = ui



frecklet_class = VaultConfigFile