components/puppet/files/solaris/lib/puppet/type/ldap.rb
author Virginia Wray <virginia.wray@oracle.com>
Mon, 12 Aug 2013 11:30:04 -0700
changeset 1427 0b76fc564cd2
parent 1418 d562fd15d944
child 1433 c111a9dd45a7
permissions -rw-r--r--
17284016 nis, ldap, and dns refreshed on every Puppet run 17277145 nsswitch provider object error and missing parameter 17271383 NIS provider is not updating domainname property 17270555 NIS provider returns an error when attempting to set securenets parameter
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     1
#
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     2
# CDDL HEADER START
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     3
#
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     7
#
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    11
# and limitations under the License.
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    12
#
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    18
#
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    19
# CDDL HEADER END
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    20
#
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    21
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    22
#
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    23
# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    24
#
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    25
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    26
require 'ipaddr'
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    27
require 'puppet/property/list'
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    28
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    29
def valid_hostname?(hostname)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    30
    return false if hostname.length > 255 or hostname.scan('..').any?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    31
    hostname = hostname[0...-1] if hostname.index('.', -1)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    32
    return hostname.split('.').collect { |i|
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    33
        i.size <= 63 and
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    34
        not (i.rindex('-', 0) or i.index('-', -1) or i.scan(/[^a-z\d-]/i).any?)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    35
    }.all?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    36
end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    37
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    38
def valid_ip?(value)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    39
    begin
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    40
        ip = IPAddr.new(value)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    41
    rescue ArgumentError
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    42
        return false
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    43
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    44
    return true
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    45
end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    46
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    47
Puppet::Type.newtype(:ldap) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    48
    @doc = "Manage the configuration of the LDAP client for Oracle Solaris"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    49
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    50
    newparam(:name) do
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    51
        desc "The symbolic name for the LDAP client settings to use.  This name
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    52
              is used for human reference only."
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    53
        isnamevar
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    54
    end
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    55
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    56
    newproperty(:profile) do
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    57
        desc "The LDAP profile name"
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    58
        class << self
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    59
            attr_accessor :pg
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    60
        end
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    61
        self.pg = "config"
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    62
        desc "The LDAP profile name"
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    63
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    64
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    65
    newproperty(:server_list, :parent => Puppet::Property::List) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    66
        desc "LDAP server names or addresses.  Specify multiple servers as an
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    67
              array"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    68
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    69
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    70
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    71
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    72
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    73
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    74
        # ensure should remains an array as long as there's more than 1 entry
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    75
        def should
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    76
            if @should.length == 1
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    77
                @should.to_s
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    78
            else
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    79
                @should
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    80
            end
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    81
        end
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    82
        
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    83
        def insync?(is)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    84
            is = [] if is == :absent or is.nil?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    85
            is.sort == self.should.sort
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    86
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    87
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    88
        # svcprop returns multivalue entries delimited with a space
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    89
        def delimiter
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    90
            " "
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    91
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    92
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    93
        validate do |value|
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    94
            raise Puppet::Error, "default_server entry:  #{value} is 
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    95
                invalid" if not valid_ip?(value) and not valid_hostname?(value)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    96
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    97
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    98
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    99
    newproperty(:preferred_server_list, :parent => Puppet::Property::List) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   100
        desc "LDAP server(s) to contact before any servers listed in
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   101
              default_server_list"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   102
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   103
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   104
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   105
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   106
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   107
        # ensure should remains an array as long as there's more than 1 entry
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   108
        def should
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   109
            if @should.length == 1
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   110
                @should.to_s
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   111
            else
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   112
                @should
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   113
            end
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   114
        end
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   115
        
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   116
        def insync?(is)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   117
            is = [] if is == :absent or is.nil?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   118
            is.sort == self.should.sort
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   119
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   120
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   121
        # svcprop returns multivalue entries delimited with a space
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   122
        def delimiter
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   123
            " "
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   124
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   125
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   126
        validate do |value|
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   127
            raise Puppet::Error, "preferred_server entry:  #{value} is 
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   128
                invalid" if not valid_ip?(value) and not valid_hostname?(value)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   129
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   130
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   131
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   132
    newproperty(:search_base) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   133
        desc "The default search base DN"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   134
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   135
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   136
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   137
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   138
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   139
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   140
    newproperty(:search_scope) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   141
        desc "The default search scope for the client's search operations.
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   142
              Valid values are base, one, sub."
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   143
        newvalues("base", "one", "sub")
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   144
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   145
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   146
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   147
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   148
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   149
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   150
    newproperty(:authentication_method, :parent => Puppet::Property::List) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   151
        desc "The default authentication method(s).  Specify multiple methods
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   152
              as an array.  Valid values are none, simple, sasl/CRAM-MD5,
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   153
              sasl/DIGEST-MD5, sasl/GSSAPI, tls:simple, tls:sasl/CRAM-MD5,
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   154
              tls:sasl/DIGEST-MD5"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   155
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   156
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   157
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   158
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   159
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   160
        
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   161
        # ensure should remains an array as long as there's more than 1 entry
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   162
        def should
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   163
            if @should.length == 1
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   164
                @should.to_s
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   165
            else
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   166
                @should
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   167
            end
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   168
        end
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   169
        
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   170
        def insync?(is)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   171
            is = [] if is == :absent or is.nil?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   172
            is.sort == self.should.sort
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   173
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   174
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   175
        # svcprop returns multivalue entries delimited with a space
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   176
        def delimiter
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   177
            " "
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   178
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   179
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   180
        newvalues("none", "simple", "sasl/CRAM-MD5", "sasl/DIGEST-MD5",
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   181
                  "sasl/GSSAPI", "tls:simple", "tls:sasl/CRAM-MD5",
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   182
                  "tls:sasl/DIGEST-MD5")
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   183
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   184
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   185
    newproperty(:credential_level) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   186
        desc "The credential level the client should use to contact the
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   187
              directory.  Valid values are anonymous, proxy, self"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   188
        newvalues("anonymous", "proxy", "self")
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   189
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   190
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   191
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   192
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   193
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   194
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   195
    newproperty(:search_time_limit) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   196
        desc "The maximum number of seconds allowed for an LDAP search
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   197
              operation."
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   198
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   199
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   200
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   201
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   202
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   203
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   204
    newproperty(:bind_time_limit) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   205
        desc "The maximum number of seconds a client should spend performing a
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   206
              bind operation."
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   207
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   208
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   209
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   210
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   211
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   212
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   213
    newproperty(:follow_referrals) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   214
        desc "The referral setting.  Valid values are true, false"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   215
        newvalues(:true, :false)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   216
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   217
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   218
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   219
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   220
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   221
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   222
    newproperty(:profile_ttl) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   223
        desc "The TTL value in seconds for the client information"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   224
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   225
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   226
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   227
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   228
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   229
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   230
    newproperty(:attribute_map, :parent => Puppet::Property::List) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   231
        desc "A mapping from an attribute defined by a service to an attribute
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   232
              in an alternative schema.  Specify multiple mappings as an array."
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   233
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   234
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   235
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   236
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   237
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   238
        
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   239
        # ensure should remains an array as long as there's more than 1 entry
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   240
        def should
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   241
            if @should.length == 1
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   242
                @should.to_s
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   243
            else
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   244
                @should
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   245
            end
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   246
        end
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   247
        
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   248
        def insync?(is)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   249
            is = [] if is == :absent or is.nil?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   250
            is.sort == self.should.sort
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   251
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   252
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   253
        # svcprop returns multivalue entries delimited with a space
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   254
        def delimiter
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   255
            " "
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   256
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   257
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   258
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   259
    newproperty(:objectclass_map, :parent => Puppet::Property::List) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   260
        desc "A  mapping from an objectclass defined by a service to an
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   261
              objectclass in an alternative schema.  Specify multiple mappings
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   262
              as an array."
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   263
        
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   264
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   265
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   266
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   267
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   268
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   269
        # ensure should remains an array as long as there's more than 1 entry
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   270
        def should
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   271
            if @should.length == 1
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   272
                @should.to_s
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   273
            else
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   274
                @should
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   275
            end
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   276
        end
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   277
        
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   278
        def insync?(is)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   279
            is = [] if is == :absent or is.nil?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   280
            is.sort == self.should.sort
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   281
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   282
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   283
        # svcprop returns multivalue entries delimited with a space
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   284
        def delimiter
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   285
            " "
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   286
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   287
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   288
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   289
    newproperty(:service_credential_level) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   290
        desc "The credential level to be used by a service.  Value values are
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   291
              anonymous, proxy"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   292
        newvalues("anonymous", "proxy")
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   293
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   294
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   295
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   296
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   297
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   298
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   299
    newproperty(:service_authentication_method,
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   300
                :parent => Puppet::Property::List) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   301
        desc "The authentication method to be used by a service.  Specify
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   302
              multiple methods as an array."
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   303
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   304
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   305
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   306
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   307
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   308
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   309
        # ensure should remains an array as long as there's more than 1 entry
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   310
        def should
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   311
            if @should.length == 1
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   312
                @should.to_s
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   313
            else
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   314
                @should
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   315
            end
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   316
        end
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   317
        
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   318
        def insync?(is)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   319
            is = [] if is == :absent or is.nil?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   320
            is.sort == self.should.sort
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   321
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   322
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   323
        # svcprop returns multivalue entries delimited with a space
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   324
        def delimiter
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   325
            " "
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   326
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   327
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   328
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   329
    newproperty(:bind_dn, :parent => Puppet::Property::List) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   330
        desc "An entry that has read permission for the requested database.
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   331
              Specify multiple entries as an array."
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   332
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   333
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   334
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   335
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   336
        self.pg = "cred"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   337
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   338
        # ensure should remains an array as long as there's more than 1 entry
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   339
        def should
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   340
            if @should.length == 1
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   341
                @should.to_s
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   342
            else
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   343
                @should
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   344
            end
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   345
        end
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   346
        
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   347
        def insync?(is)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   348
            is = [] if is == :absent or is.nil?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   349
            is.sort == self.should.sort
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   350
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   351
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   352
        # svcprop returns multivalue entries delimited with a space
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   353
        def delimiter
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   354
            " "
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   355
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   356
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   357
    
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   358
    newproperty(:bind_passwd) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   359
        desc "password to be used for authenticating the bind DN."
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   360
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   361
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   362
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   363
        self.pg = "cred"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   364
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   365
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   366
    newproperty(:enable_shadow_update) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   367
        desc "Specify whether the client is allowed to update shadow
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   368
              information.  Valid values are true, false"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   369
        newvalues(:true, :false)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   370
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   371
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   372
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   373
        self.pg = "cred"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   374
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   375
1418
d562fd15d944 17263808 Unable to initialize LDAP configuration using profile name
Drew Fisher <drew.fisher@oracle.com>
parents: 1409
diff changeset
   376
    newproperty(:admin_bind_dn) do
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   377
        desc "The Bind Distinguised Name for the administrator identity that
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   378
              is used for shadow information update"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   379
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   380
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   381
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   382
        self.pg = "cred"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   383
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   384
1418
d562fd15d944 17263808 Unable to initialize LDAP configuration using profile name
Drew Fisher <drew.fisher@oracle.com>
parents: 1409
diff changeset
   385
    newproperty(:admin_bind_passwd) do
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   386
        desc "The administrator password"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   387
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   388
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   389
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   390
        self.pg = "cred"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   391
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   392
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   393
    newproperty(:certificate_path) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   394
        desc "The location of the certificate files"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   395
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   396
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   397
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   398
        self.pg = "cred"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   399
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   400
end