Puppet Function: mysql::innobackupex_args

Defined in:
lib/puppet/functions/mysql/innobackupex_args.rb
Function type:
Ruby 4.x API

Summary

This function populates and returns the string of arguments which later gets injected in template. Arguments that return string holds is conditional and decided by the the input given to function.

Overview

mysql::innobackupex_args(Optional[String] $backupuser, Boolean $backupcompress, Optional[Variant[String, Sensitive[String]]] $backuppassword_unsensitive, Array[String[1]] $backupdatabases, Array[String[1]] $optional_args)Variant[String]

Parameters:

  • backupuser (Optional[String])

    The user to use for the backup.

  • backupcompress (Boolean)

    If the backup should be compressed.

  • backuppassword_unsensitive (Optional[Variant[String, Sensitive[String]]])

    The password to use for the backup.

  • backupdatabases (Array[String[1]])

    The databases to backup.

  • optional_args (Array[String[1]])

    Additional arguments to pass to innobackupex.

Returns:

  • (Variant[String])

    String Generated on the basis of provided values.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/puppet/functions/mysql/innobackupex_args.rb', line 6

Puppet::Functions.create_function(:'mysql::innobackupex_args') do
  # @param backupuser
  #   The user to use for the backup.
  # @param backupcompress
  #   If the backup should be compressed.
  # @param backuppassword_unsensitive
  #   The password to use for the backup.
  # @param backupdatabases
  #   The databases to backup.
  # @param optional_args
  #   Additional arguments to pass to innobackupex.
  #
  # @return String
  #   Generated on the basis of provided values.
  #
  dispatch :innobackupex_args do
    required_param 'Optional[String]', :backupuser
    required_param 'Boolean', :backupcompress
    required_param 'Optional[Variant[String, Sensitive[String]]]', :backuppassword_unsensitive
    required_param 'Array[String[1]]', :backupdatabases
    required_param 'Array[String[1]]', :optional_args
    return_type 'Variant[String]'
  end

  def innobackupex_args(backupuser, backupcompress, backuppassword_unsensitive, backupdatabases, optional_args)
    innobackupex_args = ''
    innobackupex_args = "--user=\"#{backupuser}\" --password=\"#{backuppassword_unsensitive}\"" if backupuser && backuppassword_unsensitive

    innobackupex_args = "#{innobackupex_args} --compress" if backupcompress

    innobackupex_args = "#{innobackupex_args} --databases=\"#{backupdatabases.join(' ')}\"" if backupdatabases.is_a?(Array) && !backupdatabases.empty?

    if optional_args.is_a?(Array)
      optional_args.each do |arg|
        innobackupex_args = "#{innobackupex_args} #{arg}"
      end
    end
    innobackupex_args
  end
end