dev/provisioning/modules/drush/manifests/alias.pp
author ymh <ymh.work@gmail.com>
Fri, 17 Nov 2017 18:02:24 +0100
changeset 568 fd2a9b706231
parent 353 bf1bc6b08c46
permissions -rw-r--r--
Added tag 0.0.24 for changeset 271e2afbf830
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
353
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
define drush::alias(
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
  $ensure                  = present,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
  $alias_name              = $name,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
  $group                   = undef,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
  $parent                  = undef,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
  $root                    = undef,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
  $uri                     = undef,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
  $db_url                  = undef,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
  $path_aliases            = undef,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
  $ssh_options             = undef,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
  $remote_host             = undef,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
  $remote_user             = undef,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
  $custom_options          = undef,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
  $command_specific        = undef,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
  $source_command_specific = undef,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
  $target_command_specific = undef,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
) {
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
  if (!defined(Class['drush'])) {
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
    fail('You must include class drush before declaring aliases')
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
  }
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
  if $root {
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    validate_absolute_path($root)
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
  }
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
  if $parent {
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    validate_re($parent, '^@',
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    "Invalid parent alias '${parent}'. Parent aliases must start with @.")
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
  }
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
  if $custom_options {
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
    validate_hash($custom_options)
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
  }
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
  if $command_specific {
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
    validate_hash($command_specific)
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
  }
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
  $aliasfile = $group ? {
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
    undef   => '/etc/drush/aliases.drushrc.php',
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
    default => "/etc/drush/${group}.aliases.drushrc.php",
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
  }
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
  if !defined(Concat[$aliasfile]) {
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
    concat{ $aliasfile:
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
      ensure => $ensure,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
    }
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
    concat::fragment { "${aliasfile}-header":
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
      target  => $aliasfile,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
      content => "<?php\n#MANAGED BY PUPPET!\n\n",
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
      order   => 0,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
    }
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
  }
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
  concat::fragment { "${aliasfile}-${name}":
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
    target  => $aliasfile,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
    content => template('drush/alias.erb'),
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
    order   => 1,
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
  }
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
}
bf1bc6b08c46 correct provisioning to install drush and correct config files + module definition for menu access problem
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60