Defined Type: apt::key

Defined in:
manifests/key.pp

Overview

Define: apt::key

Parameters:

  • id (Any) (defaults to: $title)
  • ensure (Any) (defaults to: present)
  • content (Any) (defaults to: undef)
  • source (Any) (defaults to: undef)
  • server (Any) (defaults to: $::apt::keyserver)
  • options (Any) (defaults to: undef)
  • key (Any) (defaults to: undef)
  • key_content (Any) (defaults to: undef)
  • key_source (Any) (defaults to: undef)
  • key_server (Any) (defaults to: undef)
  • key_options (Any) (defaults to: undef)


2
3
4
5
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'manifests/key.pp', line 2

define apt::key (
  $id          = $title,
  $ensure      = present,
  $content     = undef,
  $source      = undef,
  $server      = $::apt::keyserver,
  $options     = undef,
  $key         = undef,
  $key_content = undef,
  $key_source  = undef,
  $key_server  = undef,
  $key_options = undef,
) {

  if $key != undef {
    warning('$key is deprecated and will be removed in the next major release. Please use $id instead.')
    $_id = $key
  } else {
    $_id = $id
  }

  if $key_content != undef {
    warning('$key_content is deprecated and will be removed in the next major release. Please use $content instead.')
    $_content = $key_content
  } else {
    $_content = $content
  }

  if $key_source != undef {
    warning('$key_source is deprecated and will be removed in the next major release. Please use $source instead.')
    $_source = $key_source
  } else {
    $_source = $source
  }

  if $key_server != undef {
    warning('$key_server is deprecated and will be removed in the next major release. Please use $server instead.')
    $_server = $key_server
  } else {
    $_server = $server
  }

  if $key_options != undef {
    warning('$key_options is deprecated and will be removed in the next major release. Please use $options instead.')
    $_options = $key_options
  } else {
    $_options = $options
  }

  validate_re($_id, ['\A(0x)?[0-9a-fA-F]{8}\Z', '\A(0x)?[0-9a-fA-F]{16}\Z', '\A(0x)?[0-9a-fA-F]{40}\Z'])
  validate_re($ensure, ['\Aabsent|present\Z',])

  if $_content {
    validate_string($_content)
  }

  if $_source {
    validate_re($_source, ['\Ahttps?:\/\/', '\Aftp:\/\/', '\A\/\w+'])
  }

  if $_server {
    validate_re($_server,['\A((hkp|http|https):\/\/)?([a-z\d])([a-z\d-]{0,61}\.)+[a-z\d]+(:\d{2,5})?$'])
  }

  if $_options {
    validate_string($_options)
  }

  case $ensure {
    present: {
      if defined(Anchor["apt_key ${_id} absent"]){
        fail("key with id ${_id} already ensured as absent")
      }

      if !defined(Anchor["apt_key ${_id} present"]) {
        apt_key { $title:
          ensure  => $ensure,
          id      => $_id,
          source  => $_source,
          content => $_content,
          server  => $_server,
          options => $_options,
        } ->
        anchor { "apt_key ${_id} present": }
      }
    }

    absent: {
      if defined(Anchor["apt_key ${_id} present"]){
        fail("key with id ${_id} already ensured as present")
      }

      if !defined(Anchor["apt_key ${_id} absent"]){
        apt_key { $title:
          ensure  => $ensure,
          id      => $_id,
          source  => $_source,
          content => $_content,
          server  => $_server,
          options => $_options,
        } ->
        anchor { "apt_key ${_id} absent": }
      }
    }

    default: {
      fail "Invalid 'ensure' value '${ensure}' for apt::key"
    }
  }
}