components/puppet/files/solaris/lib/puppet/type/ldap.rb
author Drew Fisher <drew.fisher@oracle.com>
Thu, 23 Jan 2014 09:56:38 -0700
changeset 1661 c59d67c9d1d7
parent 1433 c111a9dd45a7
child 1921 489d0d0f656f
permissions -rw-r--r--
17798202 Several providers return errors due to Ruby 1.9 changes.
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
#
1661
c59d67c9d1d7 17798202 Several providers return errors due to Ruby 1.9 changes.
Drew Fisher <drew.fisher@oracle.com>
parents: 1433
diff changeset
    23
# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
1409
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
1661
c59d67c9d1d7 17798202 Several providers return errors due to Ruby 1.9 changes.
Drew Fisher <drew.fisher@oracle.com>
parents: 1433
diff changeset
    74
        # ensure should remains an array
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    75
        def should
1661
c59d67c9d1d7 17798202 Several providers return errors due to Ruby 1.9 changes.
Drew Fisher <drew.fisher@oracle.com>
parents: 1433
diff changeset
    76
            @should
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    77
        end
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
    78
        
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    79
        def insync?(is)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    80
            is = [] if is == :absent or is.nil?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    81
            is.sort == self.should.sort
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    82
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    83
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    84
        # svcprop returns multivalue entries delimited with a space
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    85
        def delimiter
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    86
            " "
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    87
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    88
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    89
        validate do |value|
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    90
            raise Puppet::Error, "default_server entry:  #{value} is 
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    91
                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
    92
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    93
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    94
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    95
    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
    96
        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
    97
              default_server_list"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    98
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    99
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   100
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   101
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   102
1661
c59d67c9d1d7 17798202 Several providers return errors due to Ruby 1.9 changes.
Drew Fisher <drew.fisher@oracle.com>
parents: 1433
diff changeset
   103
        # ensure should remains an array
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   104
        def should
1661
c59d67c9d1d7 17798202 Several providers return errors due to Ruby 1.9 changes.
Drew Fisher <drew.fisher@oracle.com>
parents: 1433
diff changeset
   105
            @should
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   106
        end
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   107
        
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   108
        def insync?(is)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   109
            is = [] if is == :absent or is.nil?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   110
            is.sort == self.should.sort
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   111
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   112
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   113
        # svcprop returns multivalue entries delimited with a space
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   114
        def delimiter
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   115
            " "
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   116
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   117
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   118
        validate do |value|
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   119
            raise Puppet::Error, "preferred_server entry:  #{value} is 
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   120
                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
   121
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   122
    end
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
    newproperty(:search_base) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   125
        desc "The default search base DN"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   126
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   127
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   128
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   129
        self.pg = "config"
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_scope) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   133
        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
   134
              Valid values are base, one, sub."
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   135
        newvalues("base", "one", "sub")
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   136
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   137
            attr_accessor :pg
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
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   140
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   141
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   142
    newproperty(:authentication_method, :parent => Puppet::Property::List) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   143
        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
   144
              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
   145
              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
   146
              tls:sasl/DIGEST-MD5"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   147
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   148
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   149
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   150
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   151
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   152
        
1661
c59d67c9d1d7 17798202 Several providers return errors due to Ruby 1.9 changes.
Drew Fisher <drew.fisher@oracle.com>
parents: 1433
diff changeset
   153
        # ensure should remains an array
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   154
        def should
1661
c59d67c9d1d7 17798202 Several providers return errors due to Ruby 1.9 changes.
Drew Fisher <drew.fisher@oracle.com>
parents: 1433
diff changeset
   155
            @should
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   156
        end
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   157
        
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   158
        def insync?(is)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   159
            is = [] if is == :absent or is.nil?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   160
            is.sort == self.should.sort
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   161
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   162
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   163
        # svcprop returns multivalue entries delimited with a space
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   164
        def delimiter
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   165
            " "
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   166
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   167
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   168
        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
   169
                  "sasl/GSSAPI", "tls:simple", "tls:sasl/CRAM-MD5",
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   170
                  "tls:sasl/DIGEST-MD5")
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   171
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   172
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   173
    newproperty(:credential_level) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   174
        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
   175
              directory.  Valid values are anonymous, proxy, self"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   176
        newvalues("anonymous", "proxy", "self")
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   177
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   178
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   179
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   180
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   181
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   182
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   183
    newproperty(:search_time_limit) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   184
        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
   185
              operation."
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   186
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   187
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   188
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   189
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   190
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   191
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   192
    newproperty(:bind_time_limit) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   193
        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
   194
              bind operation."
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   195
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   196
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   197
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   198
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   199
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   200
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   201
    newproperty(:follow_referrals) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   202
        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
   203
        newvalues(:true, :false)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   204
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   205
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   206
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   207
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   208
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   209
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   210
    newproperty(:profile_ttl) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   211
        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
   212
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   213
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   214
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   215
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   216
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   217
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   218
    newproperty(:attribute_map, :parent => Puppet::Property::List) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   219
        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
   220
              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
   221
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   222
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   223
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   224
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   225
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   226
        
1661
c59d67c9d1d7 17798202 Several providers return errors due to Ruby 1.9 changes.
Drew Fisher <drew.fisher@oracle.com>
parents: 1433
diff changeset
   227
        # ensure should remains an array
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   228
        def should
1661
c59d67c9d1d7 17798202 Several providers return errors due to Ruby 1.9 changes.
Drew Fisher <drew.fisher@oracle.com>
parents: 1433
diff changeset
   229
            @should
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   230
        end
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   231
        
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   232
        def insync?(is)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   233
            is = [] if is == :absent or is.nil?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   234
            is.sort == self.should.sort
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   235
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   236
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   237
        # svcprop returns multivalue entries delimited with a space
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   238
        def delimiter
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   239
            " "
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   240
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   241
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   242
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   243
    newproperty(:objectclass_map, :parent => Puppet::Property::List) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   244
        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
   245
              objectclass in an alternative schema.  Specify multiple mappings
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   246
              as an array."
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   247
        
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   248
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   249
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   250
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   251
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   252
1661
c59d67c9d1d7 17798202 Several providers return errors due to Ruby 1.9 changes.
Drew Fisher <drew.fisher@oracle.com>
parents: 1433
diff changeset
   253
        # ensure should remains an array
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   254
        def should
1661
c59d67c9d1d7 17798202 Several providers return errors due to Ruby 1.9 changes.
Drew Fisher <drew.fisher@oracle.com>
parents: 1433
diff changeset
   255
            @should
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   256
        end
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   257
        
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   258
        def insync?(is)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   259
            is = [] if is == :absent or is.nil?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   260
            is.sort == self.should.sort
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   261
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   262
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   263
        # svcprop returns multivalue entries delimited with a space
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   264
        def delimiter
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   265
            " "
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
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   268
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   269
    newproperty(:service_credential_level) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   270
        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
   271
              anonymous, proxy"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   272
        newvalues("anonymous", "proxy")
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   273
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   274
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   275
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   276
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   277
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   278
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   279
    newproperty(:service_authentication_method,
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   280
                :parent => Puppet::Property::List) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   281
        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
   282
              multiple methods as an array."
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   283
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   284
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   285
            attr_accessor :pg
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
        self.pg = "config"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   288
1661
c59d67c9d1d7 17798202 Several providers return errors due to Ruby 1.9 changes.
Drew Fisher <drew.fisher@oracle.com>
parents: 1433
diff changeset
   289
        # ensure should remains an array
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   290
        def should
1661
c59d67c9d1d7 17798202 Several providers return errors due to Ruby 1.9 changes.
Drew Fisher <drew.fisher@oracle.com>
parents: 1433
diff changeset
   291
            @should
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   292
        end
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   293
        
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   294
        def insync?(is)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   295
            is = [] if is == :absent or is.nil?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   296
            is.sort == self.should.sort
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
        # svcprop returns multivalue entries delimited with a space
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   300
        def delimiter
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   301
            " "
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   302
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   303
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   304
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   305
    newproperty(:bind_dn, :parent => Puppet::Property::List) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   306
        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
   307
              Specify multiple entries as an array."
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   308
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   309
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   310
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   311
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   312
        self.pg = "cred"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   313
1661
c59d67c9d1d7 17798202 Several providers return errors due to Ruby 1.9 changes.
Drew Fisher <drew.fisher@oracle.com>
parents: 1433
diff changeset
   314
        # ensure should remains an array
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   315
        def should
1661
c59d67c9d1d7 17798202 Several providers return errors due to Ruby 1.9 changes.
Drew Fisher <drew.fisher@oracle.com>
parents: 1433
diff changeset
   316
            @should
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   317
        end
1427
0b76fc564cd2 17284016 nis, ldap, and dns refreshed on every Puppet run
Virginia Wray <virginia.wray@oracle.com>
parents: 1418
diff changeset
   318
        
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   319
        def insync?(is)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   320
            is = [] if is == :absent or is.nil?
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   321
            is.sort == self.should.sort
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   322
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   323
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   324
        # svcprop returns multivalue entries delimited with a space
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   325
        def delimiter
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   326
            " "
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
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   329
    
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   330
    newproperty(:bind_passwd) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   331
        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
   332
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   333
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   334
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   335
        self.pg = "cred"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   336
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   337
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   338
    newproperty(:enable_shadow_update) do
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   339
        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
   340
              information.  Valid values are true, false"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   341
        newvalues(:true, :false)
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   342
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   343
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   344
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   345
        self.pg = "cred"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   346
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   347
1418
d562fd15d944 17263808 Unable to initialize LDAP configuration using profile name
Drew Fisher <drew.fisher@oracle.com>
parents: 1409
diff changeset
   348
    newproperty(:admin_bind_dn) do
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   349
        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
   350
              is used for shadow information update"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   351
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   352
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   353
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   354
        self.pg = "cred"
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
1418
d562fd15d944 17263808 Unable to initialize LDAP configuration using profile name
Drew Fisher <drew.fisher@oracle.com>
parents: 1409
diff changeset
   357
    newproperty(:admin_bind_passwd) do
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   358
        desc "The administrator password"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   359
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   360
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   361
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   362
        self.pg = "cred"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   363
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   364
1433
c111a9dd45a7 17307127 LDAP provider has an invalid parameter.
Drew Fisher <drew.fisher@oracle.com>
parents: 1427
diff changeset
   365
    newproperty(:host_certpath) do
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   366
        desc "The location of the certificate files"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   367
        class << self
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   368
            attr_accessor :pg
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   369
        end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   370
        self.pg = "cred"
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   371
    end
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   372
end