Class: JSS::DirectoryBindingType::Centrify

Inherits:
DirectoryBindingType show all
Defined in:
lib/jss/api_object/directory_binding_type/centrify.rb

Overview

Class for the specific ADmitMac DirectoryBinding type stored within the JSS

Attributes

Author:

  • Tyler Morgan

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(init_data) ⇒ Centrify

An initializer for the Centrify object.

Parameters:

  • initialize (Hash)

    data

See Also:

Author:

  • Tyler Morgan



79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/jss/api_object/directory_binding_type/centrify.rb', line 79

def initialize(init_data)

    # Return without processing anything since there is
    # nothing to process.
    return if init_data.nil?

    # Process the provided information
    @workstation_mode = init_data[:workstation_mode]
    @overwrite_existing = init_data[:overwrite_existing]
    @update_PAM = init_data[:update_PAM]
    @zone = init_data[:zone]
    @preferred_domain_server = init_data[:preferred_domain_server]
end

Instance Attribute Details

#overwrite_existingObject

Class for the specific ADmitMac DirectoryBinding type stored within the JSS

Attributes

Author:

  • Tyler Morgan



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
# File 'lib/jss/api_object/directory_binding_type/centrify.rb', line 51

class Centrify < DirectoryBindingType
    # Mix-Ins
    #####################################

    # Class Methods
    #####################################

    # Class Constants
    #####################################

    # Attributes
    #####################################
    attr_reader :workstation_mode
    attr_reader :overwrite_existing
    attr_reader :update_PAM
    attr_reader :zone
    attr_reader :preferred_domain_server

    # Constructor
    #####################################

    # An initializer for the Centrify object.
    # 
    # @author Tyler Morgan
    # @see JSS::DirectoryBinding
    # @see JSS::DirectoryBindingType
    #
    # @param [Hash] initialize data
    def initialize(init_data)

        # Return without processing anything since there is
        # nothing to process.
        return if init_data.nil?

        # Process the provided information
        @workstation_mode = init_data[:workstation_mode]
        @overwrite_existing = init_data[:overwrite_existing]
        @update_PAM = init_data[:update_PAM]
        @zone = init_data[:zone]
        @preferred_domain_server = init_data[:preferred_domain_server]
    end


    # Public Instance Methods
    #####################################


    # Sets the Centrify Mode to Workstation mode
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [Bool]
    #
    # @raise [JSS::InvalidDataError] If the new value doesn't match a Bool value
    #
    # @return [void]
    def workstation_mode=(newvalue)

        raise JSS::InvalidDataError, "workstation_mode must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)

        @workstation_mode = newvalue

        self.container&.should_update
    end


    # Want to overwrite existing joined computer in the directory
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [Bool]
    #
    # @raise [JSS::InvalidDataError] If the new value doesn't match a Bool value
    #
    # @return [void]
    def overwrite_existing=(newvalue)

        raise JSS::InvalidDataError, "overwrite_existing must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)

        @overwrite_existing = newvalue

        self.container&.should_update
    end


    # Update the PAM module and overwrite DirectoryService configuration
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [Bool]
    #
    # @raise [JSS::InvalidDataError] If the new value doesn't match a Bool value
    #
    # @return [void]
    def update_PAM=(newvalue)

        raise JSS::InvalidDataError, "update_PAM must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)

        @update_PAM = newvalue

        self.container&.should_update
    end


    # The zone the computer is to be joined to
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [String] the new zone the computer is to be joined to
    #
    # @raise [JSS::InvalidDataError] If the new value is not a string.
    #
    # @return [void]
    def zone=(newvalue)

        new =
            if newvalue.to_s.empty?
                JSS::BLANK
            else
                # Data Check
                raise JSS::InvalidDataError, "zone must be a string." unless newvalue.is_a? String
                newvalue
            end

        @zone = new

        self.container&.should_update
    end


    # The specific domain server that should be prioritized
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [String] The domain server that would be prioritized.
    #
    # @raise [JSS::InvalidDataError] If the new value is not a string.
    #
    # @return [void]
    def preferred_domain_server=(newvalue)

        new =
            if newvalue.to_s.empty?
                JSS::BLANK
            else
                # Data Check
                raise JSS::InvalidDataError, "preferred_domain_server must be a string." unless newvalue.is_a? String
                newvalue
            end

        @preferred_domain_server = new

        self.container&.should_update
    end


    # Return a REXML Element containing the current state of the DirectoryBindingType
    # object for adding into the XML of the container.
    # 
    # @author Tyler Morgan
    #
    # @return [REXML::Element]
    def type_setting_xml
        type_setting = REXML::Element.new "centrify"
        type_setting.add_element("workstation_mode").text = @workstation_mode
        type_setting.add_element("overwrite_existing").text = @overwrite_existing
        type_setting.add_element("update_PAM").text = @update_PAM
        type_setting.add_element("zone").text = @zone
        type_setting.add_element("preferred_domain_server").text = @preferred_domain_server

        return type_setting
    end

end

#preferred_domain_serverObject

Class for the specific ADmitMac DirectoryBinding type stored within the JSS

Attributes

Author:

  • Tyler Morgan



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
# File 'lib/jss/api_object/directory_binding_type/centrify.rb', line 51

class Centrify < DirectoryBindingType
    # Mix-Ins
    #####################################

    # Class Methods
    #####################################

    # Class Constants
    #####################################

    # Attributes
    #####################################
    attr_reader :workstation_mode
    attr_reader :overwrite_existing
    attr_reader :update_PAM
    attr_reader :zone
    attr_reader :preferred_domain_server

    # Constructor
    #####################################

    # An initializer for the Centrify object.
    # 
    # @author Tyler Morgan
    # @see JSS::DirectoryBinding
    # @see JSS::DirectoryBindingType
    #
    # @param [Hash] initialize data
    def initialize(init_data)

        # Return without processing anything since there is
        # nothing to process.
        return if init_data.nil?

        # Process the provided information
        @workstation_mode = init_data[:workstation_mode]
        @overwrite_existing = init_data[:overwrite_existing]
        @update_PAM = init_data[:update_PAM]
        @zone = init_data[:zone]
        @preferred_domain_server = init_data[:preferred_domain_server]
    end


    # Public Instance Methods
    #####################################


    # Sets the Centrify Mode to Workstation mode
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [Bool]
    #
    # @raise [JSS::InvalidDataError] If the new value doesn't match a Bool value
    #
    # @return [void]
    def workstation_mode=(newvalue)

        raise JSS::InvalidDataError, "workstation_mode must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)

        @workstation_mode = newvalue

        self.container&.should_update
    end


    # Want to overwrite existing joined computer in the directory
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [Bool]
    #
    # @raise [JSS::InvalidDataError] If the new value doesn't match a Bool value
    #
    # @return [void]
    def overwrite_existing=(newvalue)

        raise JSS::InvalidDataError, "overwrite_existing must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)

        @overwrite_existing = newvalue

        self.container&.should_update
    end


    # Update the PAM module and overwrite DirectoryService configuration
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [Bool]
    #
    # @raise [JSS::InvalidDataError] If the new value doesn't match a Bool value
    #
    # @return [void]
    def update_PAM=(newvalue)

        raise JSS::InvalidDataError, "update_PAM must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)

        @update_PAM = newvalue

        self.container&.should_update
    end


    # The zone the computer is to be joined to
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [String] the new zone the computer is to be joined to
    #
    # @raise [JSS::InvalidDataError] If the new value is not a string.
    #
    # @return [void]
    def zone=(newvalue)

        new =
            if newvalue.to_s.empty?
                JSS::BLANK
            else
                # Data Check
                raise JSS::InvalidDataError, "zone must be a string." unless newvalue.is_a? String
                newvalue
            end

        @zone = new

        self.container&.should_update
    end


    # The specific domain server that should be prioritized
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [String] The domain server that would be prioritized.
    #
    # @raise [JSS::InvalidDataError] If the new value is not a string.
    #
    # @return [void]
    def preferred_domain_server=(newvalue)

        new =
            if newvalue.to_s.empty?
                JSS::BLANK
            else
                # Data Check
                raise JSS::InvalidDataError, "preferred_domain_server must be a string." unless newvalue.is_a? String
                newvalue
            end

        @preferred_domain_server = new

        self.container&.should_update
    end


    # Return a REXML Element containing the current state of the DirectoryBindingType
    # object for adding into the XML of the container.
    # 
    # @author Tyler Morgan
    #
    # @return [REXML::Element]
    def type_setting_xml
        type_setting = REXML::Element.new "centrify"
        type_setting.add_element("workstation_mode").text = @workstation_mode
        type_setting.add_element("overwrite_existing").text = @overwrite_existing
        type_setting.add_element("update_PAM").text = @update_PAM
        type_setting.add_element("zone").text = @zone
        type_setting.add_element("preferred_domain_server").text = @preferred_domain_server

        return type_setting
    end

end

#update_PAMObject

Class for the specific ADmitMac DirectoryBinding type stored within the JSS

Attributes

Author:

  • Tyler Morgan



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
# File 'lib/jss/api_object/directory_binding_type/centrify.rb', line 51

class Centrify < DirectoryBindingType
    # Mix-Ins
    #####################################

    # Class Methods
    #####################################

    # Class Constants
    #####################################

    # Attributes
    #####################################
    attr_reader :workstation_mode
    attr_reader :overwrite_existing
    attr_reader :update_PAM
    attr_reader :zone
    attr_reader :preferred_domain_server

    # Constructor
    #####################################

    # An initializer for the Centrify object.
    # 
    # @author Tyler Morgan
    # @see JSS::DirectoryBinding
    # @see JSS::DirectoryBindingType
    #
    # @param [Hash] initialize data
    def initialize(init_data)

        # Return without processing anything since there is
        # nothing to process.
        return if init_data.nil?

        # Process the provided information
        @workstation_mode = init_data[:workstation_mode]
        @overwrite_existing = init_data[:overwrite_existing]
        @update_PAM = init_data[:update_PAM]
        @zone = init_data[:zone]
        @preferred_domain_server = init_data[:preferred_domain_server]
    end


    # Public Instance Methods
    #####################################


    # Sets the Centrify Mode to Workstation mode
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [Bool]
    #
    # @raise [JSS::InvalidDataError] If the new value doesn't match a Bool value
    #
    # @return [void]
    def workstation_mode=(newvalue)

        raise JSS::InvalidDataError, "workstation_mode must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)

        @workstation_mode = newvalue

        self.container&.should_update
    end


    # Want to overwrite existing joined computer in the directory
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [Bool]
    #
    # @raise [JSS::InvalidDataError] If the new value doesn't match a Bool value
    #
    # @return [void]
    def overwrite_existing=(newvalue)

        raise JSS::InvalidDataError, "overwrite_existing must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)

        @overwrite_existing = newvalue

        self.container&.should_update
    end


    # Update the PAM module and overwrite DirectoryService configuration
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [Bool]
    #
    # @raise [JSS::InvalidDataError] If the new value doesn't match a Bool value
    #
    # @return [void]
    def update_PAM=(newvalue)

        raise JSS::InvalidDataError, "update_PAM must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)

        @update_PAM = newvalue

        self.container&.should_update
    end


    # The zone the computer is to be joined to
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [String] the new zone the computer is to be joined to
    #
    # @raise [JSS::InvalidDataError] If the new value is not a string.
    #
    # @return [void]
    def zone=(newvalue)

        new =
            if newvalue.to_s.empty?
                JSS::BLANK
            else
                # Data Check
                raise JSS::InvalidDataError, "zone must be a string." unless newvalue.is_a? String
                newvalue
            end

        @zone = new

        self.container&.should_update
    end


    # The specific domain server that should be prioritized
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [String] The domain server that would be prioritized.
    #
    # @raise [JSS::InvalidDataError] If the new value is not a string.
    #
    # @return [void]
    def preferred_domain_server=(newvalue)

        new =
            if newvalue.to_s.empty?
                JSS::BLANK
            else
                # Data Check
                raise JSS::InvalidDataError, "preferred_domain_server must be a string." unless newvalue.is_a? String
                newvalue
            end

        @preferred_domain_server = new

        self.container&.should_update
    end


    # Return a REXML Element containing the current state of the DirectoryBindingType
    # object for adding into the XML of the container.
    # 
    # @author Tyler Morgan
    #
    # @return [REXML::Element]
    def type_setting_xml
        type_setting = REXML::Element.new "centrify"
        type_setting.add_element("workstation_mode").text = @workstation_mode
        type_setting.add_element("overwrite_existing").text = @overwrite_existing
        type_setting.add_element("update_PAM").text = @update_PAM
        type_setting.add_element("zone").text = @zone
        type_setting.add_element("preferred_domain_server").text = @preferred_domain_server

        return type_setting
    end

end

#workstation_modeObject

Attributes



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
# File 'lib/jss/api_object/directory_binding_type/centrify.rb', line 51

class Centrify < DirectoryBindingType
    # Mix-Ins
    #####################################

    # Class Methods
    #####################################

    # Class Constants
    #####################################

    # Attributes
    #####################################
    attr_reader :workstation_mode
    attr_reader :overwrite_existing
    attr_reader :update_PAM
    attr_reader :zone
    attr_reader :preferred_domain_server

    # Constructor
    #####################################

    # An initializer for the Centrify object.
    # 
    # @author Tyler Morgan
    # @see JSS::DirectoryBinding
    # @see JSS::DirectoryBindingType
    #
    # @param [Hash] initialize data
    def initialize(init_data)

        # Return without processing anything since there is
        # nothing to process.
        return if init_data.nil?

        # Process the provided information
        @workstation_mode = init_data[:workstation_mode]
        @overwrite_existing = init_data[:overwrite_existing]
        @update_PAM = init_data[:update_PAM]
        @zone = init_data[:zone]
        @preferred_domain_server = init_data[:preferred_domain_server]
    end


    # Public Instance Methods
    #####################################


    # Sets the Centrify Mode to Workstation mode
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [Bool]
    #
    # @raise [JSS::InvalidDataError] If the new value doesn't match a Bool value
    #
    # @return [void]
    def workstation_mode=(newvalue)

        raise JSS::InvalidDataError, "workstation_mode must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)

        @workstation_mode = newvalue

        self.container&.should_update
    end


    # Want to overwrite existing joined computer in the directory
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [Bool]
    #
    # @raise [JSS::InvalidDataError] If the new value doesn't match a Bool value
    #
    # @return [void]
    def overwrite_existing=(newvalue)

        raise JSS::InvalidDataError, "overwrite_existing must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)

        @overwrite_existing = newvalue

        self.container&.should_update
    end


    # Update the PAM module and overwrite DirectoryService configuration
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [Bool]
    #
    # @raise [JSS::InvalidDataError] If the new value doesn't match a Bool value
    #
    # @return [void]
    def update_PAM=(newvalue)

        raise JSS::InvalidDataError, "update_PAM must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)

        @update_PAM = newvalue

        self.container&.should_update
    end


    # The zone the computer is to be joined to
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [String] the new zone the computer is to be joined to
    #
    # @raise [JSS::InvalidDataError] If the new value is not a string.
    #
    # @return [void]
    def zone=(newvalue)

        new =
            if newvalue.to_s.empty?
                JSS::BLANK
            else
                # Data Check
                raise JSS::InvalidDataError, "zone must be a string." unless newvalue.is_a? String
                newvalue
            end

        @zone = new

        self.container&.should_update
    end


    # The specific domain server that should be prioritized
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [String] The domain server that would be prioritized.
    #
    # @raise [JSS::InvalidDataError] If the new value is not a string.
    #
    # @return [void]
    def preferred_domain_server=(newvalue)

        new =
            if newvalue.to_s.empty?
                JSS::BLANK
            else
                # Data Check
                raise JSS::InvalidDataError, "preferred_domain_server must be a string." unless newvalue.is_a? String
                newvalue
            end

        @preferred_domain_server = new

        self.container&.should_update
    end


    # Return a REXML Element containing the current state of the DirectoryBindingType
    # object for adding into the XML of the container.
    # 
    # @author Tyler Morgan
    #
    # @return [REXML::Element]
    def type_setting_xml
        type_setting = REXML::Element.new "centrify"
        type_setting.add_element("workstation_mode").text = @workstation_mode
        type_setting.add_element("overwrite_existing").text = @overwrite_existing
        type_setting.add_element("update_PAM").text = @update_PAM
        type_setting.add_element("zone").text = @zone
        type_setting.add_element("preferred_domain_server").text = @preferred_domain_server

        return type_setting
    end

end

#zoneObject

Class for the specific ADmitMac DirectoryBinding type stored within the JSS

Attributes

Author:

  • Tyler Morgan



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
# File 'lib/jss/api_object/directory_binding_type/centrify.rb', line 51

class Centrify < DirectoryBindingType
    # Mix-Ins
    #####################################

    # Class Methods
    #####################################

    # Class Constants
    #####################################

    # Attributes
    #####################################
    attr_reader :workstation_mode
    attr_reader :overwrite_existing
    attr_reader :update_PAM
    attr_reader :zone
    attr_reader :preferred_domain_server

    # Constructor
    #####################################

    # An initializer for the Centrify object.
    # 
    # @author Tyler Morgan
    # @see JSS::DirectoryBinding
    # @see JSS::DirectoryBindingType
    #
    # @param [Hash] initialize data
    def initialize(init_data)

        # Return without processing anything since there is
        # nothing to process.
        return if init_data.nil?

        # Process the provided information
        @workstation_mode = init_data[:workstation_mode]
        @overwrite_existing = init_data[:overwrite_existing]
        @update_PAM = init_data[:update_PAM]
        @zone = init_data[:zone]
        @preferred_domain_server = init_data[:preferred_domain_server]
    end


    # Public Instance Methods
    #####################################


    # Sets the Centrify Mode to Workstation mode
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [Bool]
    #
    # @raise [JSS::InvalidDataError] If the new value doesn't match a Bool value
    #
    # @return [void]
    def workstation_mode=(newvalue)

        raise JSS::InvalidDataError, "workstation_mode must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)

        @workstation_mode = newvalue

        self.container&.should_update
    end


    # Want to overwrite existing joined computer in the directory
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [Bool]
    #
    # @raise [JSS::InvalidDataError] If the new value doesn't match a Bool value
    #
    # @return [void]
    def overwrite_existing=(newvalue)

        raise JSS::InvalidDataError, "overwrite_existing must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)

        @overwrite_existing = newvalue

        self.container&.should_update
    end


    # Update the PAM module and overwrite DirectoryService configuration
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [Bool]
    #
    # @raise [JSS::InvalidDataError] If the new value doesn't match a Bool value
    #
    # @return [void]
    def update_PAM=(newvalue)

        raise JSS::InvalidDataError, "update_PAM must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)

        @update_PAM = newvalue

        self.container&.should_update
    end


    # The zone the computer is to be joined to
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [String] the new zone the computer is to be joined to
    #
    # @raise [JSS::InvalidDataError] If the new value is not a string.
    #
    # @return [void]
    def zone=(newvalue)

        new =
            if newvalue.to_s.empty?
                JSS::BLANK
            else
                # Data Check
                raise JSS::InvalidDataError, "zone must be a string." unless newvalue.is_a? String
                newvalue
            end

        @zone = new

        self.container&.should_update
    end


    # The specific domain server that should be prioritized
    # 
    # @author Tyler Morgan
    #
    # @param newvalue [String] The domain server that would be prioritized.
    #
    # @raise [JSS::InvalidDataError] If the new value is not a string.
    #
    # @return [void]
    def preferred_domain_server=(newvalue)

        new =
            if newvalue.to_s.empty?
                JSS::BLANK
            else
                # Data Check
                raise JSS::InvalidDataError, "preferred_domain_server must be a string." unless newvalue.is_a? String
                newvalue
            end

        @preferred_domain_server = new

        self.container&.should_update
    end


    # Return a REXML Element containing the current state of the DirectoryBindingType
    # object for adding into the XML of the container.
    # 
    # @author Tyler Morgan
    #
    # @return [REXML::Element]
    def type_setting_xml
        type_setting = REXML::Element.new "centrify"
        type_setting.add_element("workstation_mode").text = @workstation_mode
        type_setting.add_element("overwrite_existing").text = @overwrite_existing
        type_setting.add_element("update_PAM").text = @update_PAM
        type_setting.add_element("zone").text = @zone
        type_setting.add_element("preferred_domain_server").text = @preferred_domain_server

        return type_setting
    end

end

Instance Method Details

#type_setting_xmlREXML::Element

Return a REXML Element containing the current state of the DirectoryBindingType object for adding into the XML of the container.

Returns:

  • (REXML::Element)

Author:

  • Tyler Morgan



213
214
215
216
217
218
219
220
221
222
# File 'lib/jss/api_object/directory_binding_type/centrify.rb', line 213

def type_setting_xml
    type_setting = REXML::Element.new "centrify"
    type_setting.add_element("workstation_mode").text = @workstation_mode
    type_setting.add_element("overwrite_existing").text = @overwrite_existing
    type_setting.add_element("update_PAM").text = @update_PAM
    type_setting.add_element("zone").text = @zone
    type_setting.add_element("preferred_domain_server").text = @preferred_domain_server

    return type_setting
end