1#!/usr/bin/env python
2
3#
4# Generated Sun Apr 21 10:04:52 2013 by parse_xsd.py version 0.5.
5#
6
7"""
8The Internet Protocol Password class is applicable when a principal is
9authenticated through the use of a provided IP address, in addition to a
10username/password.
11"""
12
13import saml2
14from saml2 import SamlBase
15
16
17NAMESPACE = 'urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword'
18
19
20class PhysicalVerification(SamlBase):
21    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:PhysicalVerification element """
22
23    c_tag = 'PhysicalVerification'
24    c_namespace = NAMESPACE
25    c_children = SamlBase.c_children.copy()
26    c_attributes = SamlBase.c_attributes.copy()
27    c_child_order = SamlBase.c_child_order[:]
28    c_cardinality = SamlBase.c_cardinality.copy()
29    c_attributes['credentialLevel'] = ('credential_level', 'None', False)
30
31    def __init__(self,
32                 credential_level=None,
33                 text=None,
34                 extension_elements=None,
35                 extension_attributes=None,
36    ):
37        SamlBase.__init__(self,
38                          text=text,
39                          extension_elements=extension_elements,
40                          extension_attributes=extension_attributes,
41        )
42        self.credential_level = credential_level
43
44
45def physical_verification_from_string(xml_string):
46    return saml2.create_class_from_xml_string(PhysicalVerification, xml_string)
47
48
49class Generation(SamlBase):
50    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:Generation element """
51
52    c_tag = 'Generation'
53    c_namespace = NAMESPACE
54    c_children = SamlBase.c_children.copy()
55    c_attributes = SamlBase.c_attributes.copy()
56    c_child_order = SamlBase.c_child_order[:]
57    c_cardinality = SamlBase.c_cardinality.copy()
58    c_attributes['mechanism'] = ('mechanism', 'None', True)
59
60    def __init__(self,
61                 mechanism=None,
62                 text=None,
63                 extension_elements=None,
64                 extension_attributes=None,
65    ):
66        SamlBase.__init__(self,
67                          text=text,
68                          extension_elements=extension_elements,
69                          extension_attributes=extension_attributes,
70        )
71        self.mechanism = mechanism
72
73
74def generation_from_string(xml_string):
75    return saml2.create_class_from_xml_string(Generation, xml_string)
76
77
78class NymType_(SamlBase):
79    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:nymType element """
80
81    c_tag = 'nymType'
82    c_namespace = NAMESPACE
83    c_value_type = {'base': 'xs:NMTOKEN',
84                    'enumeration': ['anonymity', 'verinymity', 'pseudonymity']}
85    c_children = SamlBase.c_children.copy()
86    c_attributes = SamlBase.c_attributes.copy()
87    c_child_order = SamlBase.c_child_order[:]
88    c_cardinality = SamlBase.c_cardinality.copy()
89
90
91def nym_type__from_string(xml_string):
92    return saml2.create_class_from_xml_string(NymType_, xml_string)
93
94
95class GoverningAgreementRefType_(SamlBase):
96    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:GoverningAgreementRefType element """
97
98    c_tag = 'GoverningAgreementRefType'
99    c_namespace = NAMESPACE
100    c_children = SamlBase.c_children.copy()
101    c_attributes = SamlBase.c_attributes.copy()
102    c_child_order = SamlBase.c_child_order[:]
103    c_cardinality = SamlBase.c_cardinality.copy()
104    c_attributes['governingAgreementRef'] = (
105        'governing_agreement_ref', 'anyURI', True)
106
107    def __init__(self,
108                 governing_agreement_ref=None,
109                 text=None,
110                 extension_elements=None,
111                 extension_attributes=None,
112    ):
113        SamlBase.__init__(self,
114                          text=text,
115                          extension_elements=extension_elements,
116                          extension_attributes=extension_attributes,
117        )
118        self.governing_agreement_ref = governing_agreement_ref
119
120
121def governing_agreement_ref_type__from_string(xml_string):
122    return saml2.create_class_from_xml_string(GoverningAgreementRefType_,
123                                              xml_string)
124
125
126class KeySharingType_(SamlBase):
127    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:KeySharingType element """
128
129    c_tag = 'KeySharingType'
130    c_namespace = NAMESPACE
131    c_children = SamlBase.c_children.copy()
132    c_attributes = SamlBase.c_attributes.copy()
133    c_child_order = SamlBase.c_child_order[:]
134    c_cardinality = SamlBase.c_cardinality.copy()
135    c_attributes['sharing'] = ('sharing', 'boolean', True)
136
137    def __init__(self,
138                 sharing=None,
139                 text=None,
140                 extension_elements=None,
141                 extension_attributes=None,
142    ):
143        SamlBase.__init__(self,
144                          text=text,
145                          extension_elements=extension_elements,
146                          extension_attributes=extension_attributes,
147        )
148        self.sharing = sharing
149
150
151def key_sharing_type__from_string(xml_string):
152    return saml2.create_class_from_xml_string(KeySharingType_, xml_string)
153
154
155class RestrictedLengthType_(SamlBase):
156    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:RestrictedLengthType element """
157
158    c_tag = 'RestrictedLengthType'
159    c_namespace = NAMESPACE
160    c_children = SamlBase.c_children.copy()
161    c_attributes = SamlBase.c_attributes.copy()
162    c_child_order = SamlBase.c_child_order[:]
163    c_cardinality = SamlBase.c_cardinality.copy()
164    c_attributes['min'] = ('min', 'None', True)
165    c_attributes['max'] = ('max', 'integer', False)
166
167    def __init__(self,
168                 min=None,
169                 max=None,
170                 text=None,
171                 extension_elements=None,
172                 extension_attributes=None,
173    ):
174        SamlBase.__init__(self,
175                          text=text,
176                          extension_elements=extension_elements,
177                          extension_attributes=extension_attributes,
178        )
179        self.min = min
180        self.max = max
181
182
183def restricted_length_type__from_string(xml_string):
184    return saml2.create_class_from_xml_string(RestrictedLengthType_, xml_string)
185
186
187class AlphabetType_(SamlBase):
188    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:AlphabetType element """
189
190    c_tag = 'AlphabetType'
191    c_namespace = NAMESPACE
192    c_children = SamlBase.c_children.copy()
193    c_attributes = SamlBase.c_attributes.copy()
194    c_child_order = SamlBase.c_child_order[:]
195    c_cardinality = SamlBase.c_cardinality.copy()
196    c_attributes['requiredChars'] = ('required_chars', 'string', True)
197    c_attributes['excludedChars'] = ('excluded_chars', 'string', False)
198    c_attributes['case'] = ('case', 'string', False)
199
200    def __init__(self,
201                 required_chars=None,
202                 excluded_chars=None,
203                 case=None,
204                 text=None,
205                 extension_elements=None,
206                 extension_attributes=None,
207    ):
208        SamlBase.__init__(self,
209                          text=text,
210                          extension_elements=extension_elements,
211                          extension_attributes=extension_attributes,
212        )
213        self.required_chars = required_chars
214        self.excluded_chars = excluded_chars
215        self.case = case
216
217
218def alphabet_type__from_string(xml_string):
219    return saml2.create_class_from_xml_string(AlphabetType_, xml_string)
220
221
222class DeviceTypeType_(SamlBase):
223    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:DeviceTypeType element """
224
225    c_tag = 'DeviceTypeType'
226    c_namespace = NAMESPACE
227    c_value_type = {'base': 'xs:NMTOKEN',
228                    'enumeration': ['hardware', 'software']}
229    c_children = SamlBase.c_children.copy()
230    c_attributes = SamlBase.c_attributes.copy()
231    c_child_order = SamlBase.c_child_order[:]
232    c_cardinality = SamlBase.c_cardinality.copy()
233
234
235def device_type_type__from_string(xml_string):
236    return saml2.create_class_from_xml_string(DeviceTypeType_, xml_string)
237
238
239class BooleanType_(SamlBase):
240    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:booleanType element """
241
242    c_tag = 'booleanType'
243    c_namespace = NAMESPACE
244    c_value_type = {'base': 'xs:NMTOKEN', 'enumeration': ['true', 'false']}
245    c_children = SamlBase.c_children.copy()
246    c_attributes = SamlBase.c_attributes.copy()
247    c_child_order = SamlBase.c_child_order[:]
248    c_cardinality = SamlBase.c_cardinality.copy()
249
250
251def boolean_type__from_string(xml_string):
252    return saml2.create_class_from_xml_string(BooleanType_, xml_string)
253
254
255class TimeSyncTokenType_(SamlBase):
256    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:TimeSyncTokenType element """
257
258    c_tag = 'TimeSyncTokenType'
259    c_namespace = NAMESPACE
260    c_children = SamlBase.c_children.copy()
261    c_attributes = SamlBase.c_attributes.copy()
262    c_child_order = SamlBase.c_child_order[:]
263    c_cardinality = SamlBase.c_cardinality.copy()
264    c_attributes['DeviceType'] = ('device_type', DeviceTypeType_, True)
265    c_attributes['SeedLength'] = ('seed_length', 'integer', True)
266    c_attributes['DeviceInHand'] = ('device_in_hand', BooleanType_, True)
267
268    def __init__(self,
269                 device_type=None,
270                 seed_length=None,
271                 device_in_hand=None,
272                 text=None,
273                 extension_elements=None,
274                 extension_attributes=None,
275    ):
276        SamlBase.__init__(self,
277                          text=text,
278                          extension_elements=extension_elements,
279                          extension_attributes=extension_attributes,
280        )
281        self.device_type = device_type
282        self.seed_length = seed_length
283        self.device_in_hand = device_in_hand
284
285
286def time_sync_token_type__from_string(xml_string):
287    return saml2.create_class_from_xml_string(TimeSyncTokenType_, xml_string)
288
289
290class ActivationLimitDurationType_(SamlBase):
291    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ActivationLimitDurationType element """
292
293    c_tag = 'ActivationLimitDurationType'
294    c_namespace = NAMESPACE
295    c_children = SamlBase.c_children.copy()
296    c_attributes = SamlBase.c_attributes.copy()
297    c_child_order = SamlBase.c_child_order[:]
298    c_cardinality = SamlBase.c_cardinality.copy()
299    c_attributes['duration'] = ('duration', 'duration', True)
300
301    def __init__(self,
302                 duration=None,
303                 text=None,
304                 extension_elements=None,
305                 extension_attributes=None,
306    ):
307        SamlBase.__init__(self,
308                          text=text,
309                          extension_elements=extension_elements,
310                          extension_attributes=extension_attributes,
311        )
312        self.duration = duration
313
314
315def activation_limit_duration_type__from_string(xml_string):
316    return saml2.create_class_from_xml_string(ActivationLimitDurationType_,
317                                              xml_string)
318
319
320class ActivationLimitUsagesType_(SamlBase):
321    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ActivationLimitUsagesType element """
322
323    c_tag = 'ActivationLimitUsagesType'
324    c_namespace = NAMESPACE
325    c_children = SamlBase.c_children.copy()
326    c_attributes = SamlBase.c_attributes.copy()
327    c_child_order = SamlBase.c_child_order[:]
328    c_cardinality = SamlBase.c_cardinality.copy()
329    c_attributes['number'] = ('number', 'integer', True)
330
331    def __init__(self,
332                 number=None,
333                 text=None,
334                 extension_elements=None,
335                 extension_attributes=None,
336    ):
337        SamlBase.__init__(self,
338                          text=text,
339                          extension_elements=extension_elements,
340                          extension_attributes=extension_attributes,
341        )
342        self.number = number
343
344
345def activation_limit_usages_type__from_string(xml_string):
346    return saml2.create_class_from_xml_string(ActivationLimitUsagesType_,
347                                              xml_string)
348
349
350class ActivationLimitSessionType_(SamlBase):
351    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ActivationLimitSessionType element """
352
353    c_tag = 'ActivationLimitSessionType'
354    c_namespace = NAMESPACE
355    c_children = SamlBase.c_children.copy()
356    c_attributes = SamlBase.c_attributes.copy()
357    c_child_order = SamlBase.c_child_order[:]
358    c_cardinality = SamlBase.c_cardinality.copy()
359
360
361def activation_limit_session_type__from_string(xml_string):
362    return saml2.create_class_from_xml_string(ActivationLimitSessionType_,
363                                              xml_string)
364
365
366class LengthType_(SamlBase):
367    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:LengthType element """
368
369    c_tag = 'LengthType'
370    c_namespace = NAMESPACE
371    c_children = SamlBase.c_children.copy()
372    c_attributes = SamlBase.c_attributes.copy()
373    c_child_order = SamlBase.c_child_order[:]
374    c_cardinality = SamlBase.c_cardinality.copy()
375    c_attributes['min'] = ('min', 'integer', True)
376    c_attributes['max'] = ('max', 'integer', False)
377
378    def __init__(self,
379                 min=None,
380                 max=None,
381                 text=None,
382                 extension_elements=None,
383                 extension_attributes=None,
384    ):
385        SamlBase.__init__(self,
386                          text=text,
387                          extension_elements=extension_elements,
388                          extension_attributes=extension_attributes,
389        )
390        self.min = min
391        self.max = max
392
393
394def length_type__from_string(xml_string):
395    return saml2.create_class_from_xml_string(LengthType_, xml_string)
396
397
398class MediumType_(SamlBase):
399    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:mediumType element """
400
401    c_tag = 'mediumType'
402    c_namespace = NAMESPACE
403    c_value_type = {'base': 'xs:NMTOKEN',
404                    'enumeration': ['memory', 'smartcard', 'token',
405                                    'MobileDevice', 'MobileAuthCard']}
406    c_children = SamlBase.c_children.copy()
407    c_attributes = SamlBase.c_attributes.copy()
408    c_child_order = SamlBase.c_child_order[:]
409    c_cardinality = SamlBase.c_cardinality.copy()
410
411
412def medium_type__from_string(xml_string):
413    return saml2.create_class_from_xml_string(MediumType_, xml_string)
414
415
416class KeyStorageType_(SamlBase):
417    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:KeyStorageType element """
418
419    c_tag = 'KeyStorageType'
420    c_namespace = NAMESPACE
421    c_children = SamlBase.c_children.copy()
422    c_attributes = SamlBase.c_attributes.copy()
423    c_child_order = SamlBase.c_child_order[:]
424    c_cardinality = SamlBase.c_cardinality.copy()
425    c_attributes['medium'] = ('medium', MediumType_, True)
426
427    def __init__(self,
428                 medium=None,
429                 text=None,
430                 extension_elements=None,
431                 extension_attributes=None,
432    ):
433        SamlBase.__init__(self,
434                          text=text,
435                          extension_elements=extension_elements,
436                          extension_attributes=extension_attributes,
437        )
438        self.medium = medium
439
440
441def key_storage_type__from_string(xml_string):
442    return saml2.create_class_from_xml_string(KeyStorageType_, xml_string)
443
444
445class ExtensionType_(SamlBase):
446    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ExtensionType element """
447
448    c_tag = 'ExtensionType'
449    c_namespace = NAMESPACE
450    c_children = SamlBase.c_children.copy()
451    c_attributes = SamlBase.c_attributes.copy()
452    c_child_order = SamlBase.c_child_order[:]
453    c_cardinality = SamlBase.c_cardinality.copy()
454
455
456def extension_type__from_string(xml_string):
457    return saml2.create_class_from_xml_string(ExtensionType_, xml_string)
458
459
460class KeySharing(KeySharingType_):
461    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:KeySharing element """
462
463    c_tag = 'KeySharing'
464    c_namespace = NAMESPACE
465    c_children = KeySharingType_.c_children.copy()
466    c_attributes = KeySharingType_.c_attributes.copy()
467    c_child_order = KeySharingType_.c_child_order[:]
468    c_cardinality = KeySharingType_.c_cardinality.copy()
469
470
471def key_sharing_from_string(xml_string):
472    return saml2.create_class_from_xml_string(KeySharing, xml_string)
473
474
475class KeyStorage(KeyStorageType_):
476    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:KeyStorage element """
477
478    c_tag = 'KeyStorage'
479    c_namespace = NAMESPACE
480    c_children = KeyStorageType_.c_children.copy()
481    c_attributes = KeyStorageType_.c_attributes.copy()
482    c_child_order = KeyStorageType_.c_child_order[:]
483    c_cardinality = KeyStorageType_.c_cardinality.copy()
484
485
486def key_storage_from_string(xml_string):
487    return saml2.create_class_from_xml_string(KeyStorage, xml_string)
488
489
490class TimeSyncToken(TimeSyncTokenType_):
491    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:TimeSyncToken element """
492
493    c_tag = 'TimeSyncToken'
494    c_namespace = NAMESPACE
495    c_children = TimeSyncTokenType_.c_children.copy()
496    c_attributes = TimeSyncTokenType_.c_attributes.copy()
497    c_child_order = TimeSyncTokenType_.c_child_order[:]
498    c_cardinality = TimeSyncTokenType_.c_cardinality.copy()
499
500
501def time_sync_token_from_string(xml_string):
502    return saml2.create_class_from_xml_string(TimeSyncToken, xml_string)
503
504
505class Length(LengthType_):
506    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:Length element """
507
508    c_tag = 'Length'
509    c_namespace = NAMESPACE
510    c_children = LengthType_.c_children.copy()
511    c_attributes = LengthType_.c_attributes.copy()
512    c_child_order = LengthType_.c_child_order[:]
513    c_cardinality = LengthType_.c_cardinality.copy()
514
515
516def length_from_string(xml_string):
517    return saml2.create_class_from_xml_string(Length, xml_string)
518
519
520class GoverningAgreementRef(GoverningAgreementRefType_):
521    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:GoverningAgreementRef element """
522
523    c_tag = 'GoverningAgreementRef'
524    c_namespace = NAMESPACE
525    c_children = GoverningAgreementRefType_.c_children.copy()
526    c_attributes = GoverningAgreementRefType_.c_attributes.copy()
527    c_child_order = GoverningAgreementRefType_.c_child_order[:]
528    c_cardinality = GoverningAgreementRefType_.c_cardinality.copy()
529
530
531def governing_agreement_ref_from_string(xml_string):
532    return saml2.create_class_from_xml_string(GoverningAgreementRef, xml_string)
533
534
535class GoverningAgreementsType_(SamlBase):
536    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:GoverningAgreementsType element """
537
538    c_tag = 'GoverningAgreementsType'
539    c_namespace = NAMESPACE
540    c_children = SamlBase.c_children.copy()
541    c_attributes = SamlBase.c_attributes.copy()
542    c_child_order = SamlBase.c_child_order[:]
543    c_cardinality = SamlBase.c_cardinality.copy()
544    c_children[
545        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}GoverningAgreementRef'] = (
546        'governing_agreement_ref', [GoverningAgreementRef])
547    c_cardinality['governing_agreement_ref'] = {"min": 1}
548    c_child_order.extend(['governing_agreement_ref'])
549
550    def __init__(self,
551                 governing_agreement_ref=None,
552                 text=None,
553                 extension_elements=None,
554                 extension_attributes=None,
555    ):
556        SamlBase.__init__(self,
557                          text=text,
558                          extension_elements=extension_elements,
559                          extension_attributes=extension_attributes,
560        )
561        self.governing_agreement_ref = governing_agreement_ref or []
562
563
564def governing_agreements_type__from_string(xml_string):
565    return saml2.create_class_from_xml_string(GoverningAgreementsType_,
566                                              xml_string)
567
568
569class RestrictedPasswordType_Length(RestrictedLengthType_):
570    c_tag = 'Length'
571    c_namespace = NAMESPACE
572    c_children = RestrictedLengthType_.c_children.copy()
573    c_attributes = RestrictedLengthType_.c_attributes.copy()
574    c_child_order = RestrictedLengthType_.c_child_order[:]
575    c_cardinality = RestrictedLengthType_.c_cardinality.copy()
576
577
578def restricted_password_type__length_from_string(xml_string):
579    return saml2.create_class_from_xml_string(RestrictedPasswordType_Length,
580                                              xml_string)
581
582
583class Alphabet(AlphabetType_):
584    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:Alphabet element """
585
586    c_tag = 'Alphabet'
587    c_namespace = NAMESPACE
588    c_children = AlphabetType_.c_children.copy()
589    c_attributes = AlphabetType_.c_attributes.copy()
590    c_child_order = AlphabetType_.c_child_order[:]
591    c_cardinality = AlphabetType_.c_cardinality.copy()
592
593
594def alphabet_from_string(xml_string):
595    return saml2.create_class_from_xml_string(Alphabet, xml_string)
596
597
598class ActivationLimitDuration(ActivationLimitDurationType_):
599    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ActivationLimitDuration element """
600
601    c_tag = 'ActivationLimitDuration'
602    c_namespace = NAMESPACE
603    c_children = ActivationLimitDurationType_.c_children.copy()
604    c_attributes = ActivationLimitDurationType_.c_attributes.copy()
605    c_child_order = ActivationLimitDurationType_.c_child_order[:]
606    c_cardinality = ActivationLimitDurationType_.c_cardinality.copy()
607
608
609def activation_limit_duration_from_string(xml_string):
610    return saml2.create_class_from_xml_string(ActivationLimitDuration,
611                                              xml_string)
612
613
614class ActivationLimitUsages(ActivationLimitUsagesType_):
615    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ActivationLimitUsages element """
616
617    c_tag = 'ActivationLimitUsages'
618    c_namespace = NAMESPACE
619    c_children = ActivationLimitUsagesType_.c_children.copy()
620    c_attributes = ActivationLimitUsagesType_.c_attributes.copy()
621    c_child_order = ActivationLimitUsagesType_.c_child_order[:]
622    c_cardinality = ActivationLimitUsagesType_.c_cardinality.copy()
623
624
625def activation_limit_usages_from_string(xml_string):
626    return saml2.create_class_from_xml_string(ActivationLimitUsages, xml_string)
627
628
629class ActivationLimitSession(ActivationLimitSessionType_):
630    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ActivationLimitSession element """
631
632    c_tag = 'ActivationLimitSession'
633    c_namespace = NAMESPACE
634    c_children = ActivationLimitSessionType_.c_children.copy()
635    c_attributes = ActivationLimitSessionType_.c_attributes.copy()
636    c_child_order = ActivationLimitSessionType_.c_child_order[:]
637    c_cardinality = ActivationLimitSessionType_.c_cardinality.copy()
638
639
640def activation_limit_session_from_string(xml_string):
641    return saml2.create_class_from_xml_string(ActivationLimitSession,
642                                              xml_string)
643
644
645class Extension(ExtensionType_):
646    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:Extension element """
647
648    c_tag = 'Extension'
649    c_namespace = NAMESPACE
650    c_children = ExtensionType_.c_children.copy()
651    c_attributes = ExtensionType_.c_attributes.copy()
652    c_child_order = ExtensionType_.c_child_order[:]
653    c_cardinality = ExtensionType_.c_cardinality.copy()
654
655
656def extension_from_string(xml_string):
657    return saml2.create_class_from_xml_string(Extension, xml_string)
658
659
660class SharedSecretChallengeResponseType_(SamlBase):
661    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:SharedSecretChallengeResponseType element """
662
663    c_tag = 'SharedSecretChallengeResponseType'
664    c_namespace = NAMESPACE
665    c_children = SamlBase.c_children.copy()
666    c_attributes = SamlBase.c_attributes.copy()
667    c_child_order = SamlBase.c_child_order[:]
668    c_cardinality = SamlBase.c_cardinality.copy()
669    c_children[
670        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
671        'extension', [Extension])
672    c_cardinality['extension'] = {"min": 0}
673    c_attributes['method'] = ('method', 'anyURI', False)
674    c_child_order.extend(['extension'])
675
676    def __init__(self,
677                 extension=None,
678                 method=None,
679                 text=None,
680                 extension_elements=None,
681                 extension_attributes=None,
682    ):
683        SamlBase.__init__(self,
684                          text=text,
685                          extension_elements=extension_elements,
686                          extension_attributes=extension_attributes,
687        )
688        self.extension = extension or []
689        self.method = method
690
691
692def shared_secret_challenge_response_type__from_string(xml_string):
693    return saml2.create_class_from_xml_string(
694        SharedSecretChallengeResponseType_, xml_string)
695
696
697class PublicKeyType_(SamlBase):
698    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:PublicKeyType element """
699
700    c_tag = 'PublicKeyType'
701    c_namespace = NAMESPACE
702    c_children = SamlBase.c_children.copy()
703    c_attributes = SamlBase.c_attributes.copy()
704    c_child_order = SamlBase.c_child_order[:]
705    c_cardinality = SamlBase.c_cardinality.copy()
706    c_children[
707        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
708        'extension', [Extension])
709    c_cardinality['extension'] = {"min": 0}
710    c_attributes['keyValidation'] = ('key_validation', 'None', False)
711    c_child_order.extend(['extension'])
712
713    def __init__(self,
714                 extension=None,
715                 key_validation=None,
716                 text=None,
717                 extension_elements=None,
718                 extension_attributes=None,
719    ):
720        SamlBase.__init__(self,
721                          text=text,
722                          extension_elements=extension_elements,
723                          extension_attributes=extension_attributes,
724        )
725        self.extension = extension or []
726        self.key_validation = key_validation
727
728
729def public_key_type__from_string(xml_string):
730    return saml2.create_class_from_xml_string(PublicKeyType_, xml_string)
731
732
733class GoverningAgreements(GoverningAgreementsType_):
734    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:GoverningAgreements element """
735
736    c_tag = 'GoverningAgreements'
737    c_namespace = NAMESPACE
738    c_children = GoverningAgreementsType_.c_children.copy()
739    c_attributes = GoverningAgreementsType_.c_attributes.copy()
740    c_child_order = GoverningAgreementsType_.c_child_order[:]
741    c_cardinality = GoverningAgreementsType_.c_cardinality.copy()
742
743
744def governing_agreements_from_string(xml_string):
745    return saml2.create_class_from_xml_string(GoverningAgreements, xml_string)
746
747
748class PasswordType_(SamlBase):
749    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:PasswordType element """
750
751    c_tag = 'PasswordType'
752    c_namespace = NAMESPACE
753    c_children = SamlBase.c_children.copy()
754    c_attributes = SamlBase.c_attributes.copy()
755    c_child_order = SamlBase.c_child_order[:]
756    c_cardinality = SamlBase.c_cardinality.copy()
757    c_children[
758        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Length'] = (
759        'length', Length)
760    c_cardinality['length'] = {"min": 0, "max": 1}
761    c_children[
762        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Alphabet'] = (
763        'alphabet', Alphabet)
764    c_cardinality['alphabet'] = {"min": 0, "max": 1}
765    c_children[
766        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Generation'] = (
767        'generation', Generation)
768    c_cardinality['generation'] = {"min": 0, "max": 1}
769    c_children[
770        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
771        'extension', [Extension])
772    c_cardinality['extension'] = {"min": 0}
773    c_attributes['ExternalVerification'] = (
774        'external_verification', 'anyURI', False)
775    c_child_order.extend(['length', 'alphabet', 'generation', 'extension'])
776
777    def __init__(self,
778                 length=None,
779                 alphabet=None,
780                 generation=None,
781                 extension=None,
782                 external_verification=None,
783                 text=None,
784                 extension_elements=None,
785                 extension_attributes=None,
786    ):
787        SamlBase.__init__(self,
788                          text=text,
789                          extension_elements=extension_elements,
790                          extension_attributes=extension_attributes,
791        )
792        self.length = length
793        self.alphabet = alphabet
794        self.generation = generation
795        self.extension = extension or []
796        self.external_verification = external_verification
797
798
799def password_type__from_string(xml_string):
800    return saml2.create_class_from_xml_string(PasswordType_, xml_string)
801
802
803class RestrictedPasswordType_(SamlBase):
804    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:RestrictedPasswordType element """
805
806    c_tag = 'RestrictedPasswordType'
807    c_namespace = NAMESPACE
808    c_children = SamlBase.c_children.copy()
809    c_attributes = SamlBase.c_attributes.copy()
810    c_child_order = SamlBase.c_child_order[:]
811    c_cardinality = SamlBase.c_cardinality.copy()
812    c_children[
813        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Length'] = (
814        'length', RestrictedPasswordType_Length)
815    c_children[
816        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Generation'] = (
817        'generation', Generation)
818    c_cardinality['generation'] = {"min": 0, "max": 1}
819    c_children[
820        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
821        'extension', [Extension])
822    c_cardinality['extension'] = {"min": 0}
823    c_attributes['ExternalVerification'] = (
824        'external_verification', 'anyURI', False)
825    c_child_order.extend(['length', 'generation', 'extension'])
826
827    def __init__(self,
828                 length=None,
829                 generation=None,
830                 extension=None,
831                 external_verification=None,
832                 text=None,
833                 extension_elements=None,
834                 extension_attributes=None,
835    ):
836        SamlBase.__init__(self,
837                          text=text,
838                          extension_elements=extension_elements,
839                          extension_attributes=extension_attributes,
840        )
841        self.length = length
842        self.generation = generation
843        self.extension = extension or []
844        self.external_verification = external_verification
845
846
847def restricted_password_type__from_string(xml_string):
848    return saml2.create_class_from_xml_string(RestrictedPasswordType_,
849                                              xml_string)
850
851
852class TokenType_(SamlBase):
853    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:TokenType element """
854
855    c_tag = 'TokenType'
856    c_namespace = NAMESPACE
857    c_children = SamlBase.c_children.copy()
858    c_attributes = SamlBase.c_attributes.copy()
859    c_child_order = SamlBase.c_child_order[:]
860    c_cardinality = SamlBase.c_cardinality.copy()
861    c_children[
862        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}TimeSyncToken'] = (
863        'time_sync_token', TimeSyncToken)
864    c_children[
865        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
866        'extension', [Extension])
867    c_cardinality['extension'] = {"min": 0}
868    c_child_order.extend(['time_sync_token', 'extension'])
869
870    def __init__(self,
871                 time_sync_token=None,
872                 extension=None,
873                 text=None,
874                 extension_elements=None,
875                 extension_attributes=None,
876    ):
877        SamlBase.__init__(self,
878                          text=text,
879                          extension_elements=extension_elements,
880                          extension_attributes=extension_attributes,
881        )
882        self.time_sync_token = time_sync_token
883        self.extension = extension or []
884
885
886def token_type__from_string(xml_string):
887    return saml2.create_class_from_xml_string(TokenType_, xml_string)
888
889
890class ActivationLimitType_(SamlBase):
891    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ActivationLimitType element """
892
893    c_tag = 'ActivationLimitType'
894    c_namespace = NAMESPACE
895    c_children = SamlBase.c_children.copy()
896    c_attributes = SamlBase.c_attributes.copy()
897    c_child_order = SamlBase.c_child_order[:]
898    c_cardinality = SamlBase.c_cardinality.copy()
899    c_children[
900        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}ActivationLimitDuration'] = (
901        'activation_limit_duration', ActivationLimitDuration)
902    c_cardinality['activation_limit_duration'] = {"min": 0, "max": 1}
903    c_children[
904        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}ActivationLimitUsages'] = (
905        'activation_limit_usages', ActivationLimitUsages)
906    c_cardinality['activation_limit_usages'] = {"min": 0, "max": 1}
907    c_children[
908        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}ActivationLimitSession'] = (
909        'activation_limit_session', ActivationLimitSession)
910    c_cardinality['activation_limit_session'] = {"min": 0, "max": 1}
911    c_child_order.extend(
912        ['activation_limit_duration', 'activation_limit_usages',
913         'activation_limit_session'])
914
915    def __init__(self,
916                 activation_limit_duration=None,
917                 activation_limit_usages=None,
918                 activation_limit_session=None,
919                 text=None,
920                 extension_elements=None,
921                 extension_attributes=None,
922    ):
923        SamlBase.__init__(self,
924                          text=text,
925                          extension_elements=extension_elements,
926                          extension_attributes=extension_attributes,
927        )
928        self.activation_limit_duration = activation_limit_duration
929        self.activation_limit_usages = activation_limit_usages
930        self.activation_limit_session = activation_limit_session
931
932
933def activation_limit_type__from_string(xml_string):
934    return saml2.create_class_from_xml_string(ActivationLimitType_, xml_string)
935
936
937class ExtensionOnlyType_(SamlBase):
938    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ExtensionOnlyType element """
939
940    c_tag = 'ExtensionOnlyType'
941    c_namespace = NAMESPACE
942    c_children = SamlBase.c_children.copy()
943    c_attributes = SamlBase.c_attributes.copy()
944    c_child_order = SamlBase.c_child_order[:]
945    c_cardinality = SamlBase.c_cardinality.copy()
946    c_children[
947        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
948        'extension', [Extension])
949    c_cardinality['extension'] = {"min": 0}
950    c_child_order.extend(['extension'])
951
952    def __init__(self,
953                 extension=None,
954                 text=None,
955                 extension_elements=None,
956                 extension_attributes=None,
957    ):
958        SamlBase.__init__(self,
959                          text=text,
960                          extension_elements=extension_elements,
961                          extension_attributes=extension_attributes,
962        )
963        self.extension = extension or []
964
965
966def extension_only_type__from_string(xml_string):
967    return saml2.create_class_from_xml_string(ExtensionOnlyType_, xml_string)
968
969
970class WrittenConsent(ExtensionOnlyType_):
971    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:WrittenConsent element """
972
973    c_tag = 'WrittenConsent'
974    c_namespace = NAMESPACE
975    c_children = ExtensionOnlyType_.c_children.copy()
976    c_attributes = ExtensionOnlyType_.c_attributes.copy()
977    c_child_order = ExtensionOnlyType_.c_child_order[:]
978    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
979
980
981def written_consent_from_string(xml_string):
982    return saml2.create_class_from_xml_string(WrittenConsent, xml_string)
983
984
985class SubscriberLineNumber(ExtensionOnlyType_):
986    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:SubscriberLineNumber element """
987
988    c_tag = 'SubscriberLineNumber'
989    c_namespace = NAMESPACE
990    c_children = ExtensionOnlyType_.c_children.copy()
991    c_attributes = ExtensionOnlyType_.c_attributes.copy()
992    c_child_order = ExtensionOnlyType_.c_child_order[:]
993    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
994
995
996def subscriber_line_number_from_string(xml_string):
997    return saml2.create_class_from_xml_string(SubscriberLineNumber, xml_string)
998
999
1000class UserSuffix(ExtensionOnlyType_):
1001    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:UserSuffix element """
1002
1003    c_tag = 'UserSuffix'
1004    c_namespace = NAMESPACE
1005    c_children = ExtensionOnlyType_.c_children.copy()
1006    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1007    c_child_order = ExtensionOnlyType_.c_child_order[:]
1008    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1009
1010
1011def user_suffix_from_string(xml_string):
1012    return saml2.create_class_from_xml_string(UserSuffix, xml_string)
1013
1014
1015class Password(PasswordType_):
1016    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:Password element """
1017
1018    c_tag = 'Password'
1019    c_namespace = NAMESPACE
1020    c_children = PasswordType_.c_children.copy()
1021    c_attributes = PasswordType_.c_attributes.copy()
1022    c_child_order = PasswordType_.c_child_order[:]
1023    c_cardinality = PasswordType_.c_cardinality.copy()
1024
1025
1026def password_from_string(xml_string):
1027    return saml2.create_class_from_xml_string(Password, xml_string)
1028
1029
1030class Token(TokenType_):
1031    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:Token element """
1032
1033    c_tag = 'Token'
1034    c_namespace = NAMESPACE
1035    c_children = TokenType_.c_children.copy()
1036    c_attributes = TokenType_.c_attributes.copy()
1037    c_child_order = TokenType_.c_child_order[:]
1038    c_cardinality = TokenType_.c_cardinality.copy()
1039
1040
1041def token_from_string(xml_string):
1042    return saml2.create_class_from_xml_string(Token, xml_string)
1043
1044
1045class Smartcard(ExtensionOnlyType_):
1046    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:Smartcard element """
1047
1048    c_tag = 'Smartcard'
1049    c_namespace = NAMESPACE
1050    c_children = ExtensionOnlyType_.c_children.copy()
1051    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1052    c_child_order = ExtensionOnlyType_.c_child_order[:]
1053    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1054
1055
1056def smartcard_from_string(xml_string):
1057    return saml2.create_class_from_xml_string(Smartcard, xml_string)
1058
1059
1060class ActivationLimit(ActivationLimitType_):
1061    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ActivationLimit element """
1062
1063    c_tag = 'ActivationLimit'
1064    c_namespace = NAMESPACE
1065    c_children = ActivationLimitType_.c_children.copy()
1066    c_attributes = ActivationLimitType_.c_attributes.copy()
1067    c_child_order = ActivationLimitType_.c_child_order[:]
1068    c_cardinality = ActivationLimitType_.c_cardinality.copy()
1069
1070
1071def activation_limit_from_string(xml_string):
1072    return saml2.create_class_from_xml_string(ActivationLimit, xml_string)
1073
1074
1075class PreviousSession(ExtensionOnlyType_):
1076    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:PreviousSession element """
1077
1078    c_tag = 'PreviousSession'
1079    c_namespace = NAMESPACE
1080    c_children = ExtensionOnlyType_.c_children.copy()
1081    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1082    c_child_order = ExtensionOnlyType_.c_child_order[:]
1083    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1084
1085
1086def previous_session_from_string(xml_string):
1087    return saml2.create_class_from_xml_string(PreviousSession, xml_string)
1088
1089
1090class ResumeSession(ExtensionOnlyType_):
1091    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ResumeSession element """
1092
1093    c_tag = 'ResumeSession'
1094    c_namespace = NAMESPACE
1095    c_children = ExtensionOnlyType_.c_children.copy()
1096    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1097    c_child_order = ExtensionOnlyType_.c_child_order[:]
1098    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1099
1100
1101def resume_session_from_string(xml_string):
1102    return saml2.create_class_from_xml_string(ResumeSession, xml_string)
1103
1104
1105class ZeroKnowledge(ExtensionOnlyType_):
1106    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ZeroKnowledge element """
1107
1108    c_tag = 'ZeroKnowledge'
1109    c_namespace = NAMESPACE
1110    c_children = ExtensionOnlyType_.c_children.copy()
1111    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1112    c_child_order = ExtensionOnlyType_.c_child_order[:]
1113    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1114
1115
1116def zero_knowledge_from_string(xml_string):
1117    return saml2.create_class_from_xml_string(ZeroKnowledge, xml_string)
1118
1119
1120class SharedSecretChallengeResponse(SharedSecretChallengeResponseType_):
1121    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:SharedSecretChallengeResponse element """
1122
1123    c_tag = 'SharedSecretChallengeResponse'
1124    c_namespace = NAMESPACE
1125    c_children = SharedSecretChallengeResponseType_.c_children.copy()
1126    c_attributes = SharedSecretChallengeResponseType_.c_attributes.copy()
1127    c_child_order = SharedSecretChallengeResponseType_.c_child_order[:]
1128    c_cardinality = SharedSecretChallengeResponseType_.c_cardinality.copy()
1129
1130
1131def shared_secret_challenge_response_from_string(xml_string):
1132    return saml2.create_class_from_xml_string(SharedSecretChallengeResponse,
1133                                              xml_string)
1134
1135
1136class DigSig(PublicKeyType_):
1137    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:DigSig element """
1138
1139    c_tag = 'DigSig'
1140    c_namespace = NAMESPACE
1141    c_children = PublicKeyType_.c_children.copy()
1142    c_attributes = PublicKeyType_.c_attributes.copy()
1143    c_child_order = PublicKeyType_.c_child_order[:]
1144    c_cardinality = PublicKeyType_.c_cardinality.copy()
1145
1146
1147def dig_sig_from_string(xml_string):
1148    return saml2.create_class_from_xml_string(DigSig, xml_string)
1149
1150
1151class AsymmetricDecryption(PublicKeyType_):
1152    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:AsymmetricDecryption element """
1153
1154    c_tag = 'AsymmetricDecryption'
1155    c_namespace = NAMESPACE
1156    c_children = PublicKeyType_.c_children.copy()
1157    c_attributes = PublicKeyType_.c_attributes.copy()
1158    c_child_order = PublicKeyType_.c_child_order[:]
1159    c_cardinality = PublicKeyType_.c_cardinality.copy()
1160
1161
1162def asymmetric_decryption_from_string(xml_string):
1163    return saml2.create_class_from_xml_string(AsymmetricDecryption, xml_string)
1164
1165
1166class AsymmetricKeyAgreement(PublicKeyType_):
1167    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:AsymmetricKeyAgreement element """
1168
1169    c_tag = 'AsymmetricKeyAgreement'
1170    c_namespace = NAMESPACE
1171    c_children = PublicKeyType_.c_children.copy()
1172    c_attributes = PublicKeyType_.c_attributes.copy()
1173    c_child_order = PublicKeyType_.c_child_order[:]
1174    c_cardinality = PublicKeyType_.c_cardinality.copy()
1175
1176
1177def asymmetric_key_agreement_from_string(xml_string):
1178    return saml2.create_class_from_xml_string(AsymmetricKeyAgreement,
1179                                              xml_string)
1180
1181
1182class IPAddress(ExtensionOnlyType_):
1183    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:IPAddress element """
1184
1185    c_tag = 'IPAddress'
1186    c_namespace = NAMESPACE
1187    c_children = ExtensionOnlyType_.c_children.copy()
1188    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1189    c_child_order = ExtensionOnlyType_.c_child_order[:]
1190    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1191
1192
1193def ip_address_from_string(xml_string):
1194    return saml2.create_class_from_xml_string(IPAddress, xml_string)
1195
1196
1197class SharedSecretDynamicPlaintext(ExtensionOnlyType_):
1198    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:SharedSecretDynamicPlaintext element """
1199
1200    c_tag = 'SharedSecretDynamicPlaintext'
1201    c_namespace = NAMESPACE
1202    c_children = ExtensionOnlyType_.c_children.copy()
1203    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1204    c_child_order = ExtensionOnlyType_.c_child_order[:]
1205    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1206
1207
1208def shared_secret_dynamic_plaintext_from_string(xml_string):
1209    return saml2.create_class_from_xml_string(SharedSecretDynamicPlaintext,
1210                                              xml_string)
1211
1212
1213class HTTP(ExtensionOnlyType_):
1214    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:HTTP element """
1215
1216    c_tag = 'HTTP'
1217    c_namespace = NAMESPACE
1218    c_children = ExtensionOnlyType_.c_children.copy()
1219    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1220    c_child_order = ExtensionOnlyType_.c_child_order[:]
1221    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1222
1223
1224def http_from_string(xml_string):
1225    return saml2.create_class_from_xml_string(HTTP, xml_string)
1226
1227
1228class IPSec(ExtensionOnlyType_):
1229    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:IPSec element """
1230
1231    c_tag = 'IPSec'
1232    c_namespace = NAMESPACE
1233    c_children = ExtensionOnlyType_.c_children.copy()
1234    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1235    c_child_order = ExtensionOnlyType_.c_child_order[:]
1236    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1237
1238
1239def ip_sec_from_string(xml_string):
1240    return saml2.create_class_from_xml_string(IPSec, xml_string)
1241
1242
1243class WTLS(ExtensionOnlyType_):
1244    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:WTLS element """
1245
1246    c_tag = 'WTLS'
1247    c_namespace = NAMESPACE
1248    c_children = ExtensionOnlyType_.c_children.copy()
1249    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1250    c_child_order = ExtensionOnlyType_.c_child_order[:]
1251    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1252
1253
1254def wtls_from_string(xml_string):
1255    return saml2.create_class_from_xml_string(WTLS, xml_string)
1256
1257
1258class MobileNetworkNoEncryption(ExtensionOnlyType_):
1259    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:MobileNetworkNoEncryption element """
1260
1261    c_tag = 'MobileNetworkNoEncryption'
1262    c_namespace = NAMESPACE
1263    c_children = ExtensionOnlyType_.c_children.copy()
1264    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1265    c_child_order = ExtensionOnlyType_.c_child_order[:]
1266    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1267
1268
1269def mobile_network_no_encryption_from_string(xml_string):
1270    return saml2.create_class_from_xml_string(MobileNetworkNoEncryption,
1271                                              xml_string)
1272
1273
1274class MobileNetworkRadioEncryption(ExtensionOnlyType_):
1275    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:MobileNetworkRadioEncryption element """
1276
1277    c_tag = 'MobileNetworkRadioEncryption'
1278    c_namespace = NAMESPACE
1279    c_children = ExtensionOnlyType_.c_children.copy()
1280    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1281    c_child_order = ExtensionOnlyType_.c_child_order[:]
1282    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1283
1284
1285def mobile_network_radio_encryption_from_string(xml_string):
1286    return saml2.create_class_from_xml_string(MobileNetworkRadioEncryption,
1287                                              xml_string)
1288
1289
1290class MobileNetworkEndToEndEncryption(ExtensionOnlyType_):
1291    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:MobileNetworkEndToEndEncryption element """
1292
1293    c_tag = 'MobileNetworkEndToEndEncryption'
1294    c_namespace = NAMESPACE
1295    c_children = ExtensionOnlyType_.c_children.copy()
1296    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1297    c_child_order = ExtensionOnlyType_.c_child_order[:]
1298    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1299
1300
1301def mobile_network_end_to_end_encryption_from_string(xml_string):
1302    return saml2.create_class_from_xml_string(MobileNetworkEndToEndEncryption,
1303                                              xml_string)
1304
1305
1306class SSL(ExtensionOnlyType_):
1307    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:SSL element """
1308
1309    c_tag = 'SSL'
1310    c_namespace = NAMESPACE
1311    c_children = ExtensionOnlyType_.c_children.copy()
1312    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1313    c_child_order = ExtensionOnlyType_.c_child_order[:]
1314    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1315
1316
1317def ssl_from_string(xml_string):
1318    return saml2.create_class_from_xml_string(SSL, xml_string)
1319
1320
1321class PSTN(ExtensionOnlyType_):
1322    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:PSTN element """
1323
1324    c_tag = 'PSTN'
1325    c_namespace = NAMESPACE
1326    c_children = ExtensionOnlyType_.c_children.copy()
1327    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1328    c_child_order = ExtensionOnlyType_.c_child_order[:]
1329    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1330
1331
1332def pstn_from_string(xml_string):
1333    return saml2.create_class_from_xml_string(PSTN, xml_string)
1334
1335
1336class ISDN(ExtensionOnlyType_):
1337    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ISDN element """
1338
1339    c_tag = 'ISDN'
1340    c_namespace = NAMESPACE
1341    c_children = ExtensionOnlyType_.c_children.copy()
1342    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1343    c_child_order = ExtensionOnlyType_.c_child_order[:]
1344    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1345
1346
1347def isdn_from_string(xml_string):
1348    return saml2.create_class_from_xml_string(ISDN, xml_string)
1349
1350
1351class ADSL(ExtensionOnlyType_):
1352    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ADSL element """
1353
1354    c_tag = 'ADSL'
1355    c_namespace = NAMESPACE
1356    c_children = ExtensionOnlyType_.c_children.copy()
1357    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1358    c_child_order = ExtensionOnlyType_.c_child_order[:]
1359    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1360
1361
1362def adsl_from_string(xml_string):
1363    return saml2.create_class_from_xml_string(ADSL, xml_string)
1364
1365
1366class SwitchAudit(ExtensionOnlyType_):
1367    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:SwitchAudit element """
1368
1369    c_tag = 'SwitchAudit'
1370    c_namespace = NAMESPACE
1371    c_children = ExtensionOnlyType_.c_children.copy()
1372    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1373    c_child_order = ExtensionOnlyType_.c_child_order[:]
1374    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1375
1376
1377def switch_audit_from_string(xml_string):
1378    return saml2.create_class_from_xml_string(SwitchAudit, xml_string)
1379
1380
1381class DeactivationCallCenter(ExtensionOnlyType_):
1382    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:DeactivationCallCenter element """
1383
1384    c_tag = 'DeactivationCallCenter'
1385    c_namespace = NAMESPACE
1386    c_children = ExtensionOnlyType_.c_children.copy()
1387    c_attributes = ExtensionOnlyType_.c_attributes.copy()
1388    c_child_order = ExtensionOnlyType_.c_child_order[:]
1389    c_cardinality = ExtensionOnlyType_.c_cardinality.copy()
1390
1391
1392def deactivation_call_center_from_string(xml_string):
1393    return saml2.create_class_from_xml_string(DeactivationCallCenter,
1394                                              xml_string)
1395
1396
1397class IdentificationType_(SamlBase):
1398    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:IdentificationType element """
1399
1400    c_tag = 'IdentificationType'
1401    c_namespace = NAMESPACE
1402    c_children = SamlBase.c_children.copy()
1403    c_attributes = SamlBase.c_attributes.copy()
1404    c_child_order = SamlBase.c_child_order[:]
1405    c_cardinality = SamlBase.c_cardinality.copy()
1406    c_children[
1407        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}PhysicalVerification'] = (
1408        'physical_verification', PhysicalVerification)
1409    c_cardinality['physical_verification'] = {"min": 0, "max": 1}
1410    c_children[
1411        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}WrittenConsent'] = (
1412        'written_consent', WrittenConsent)
1413    c_cardinality['written_consent'] = {"min": 0, "max": 1}
1414    c_children[
1415        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}GoverningAgreements'] = (
1416        'governing_agreements', GoverningAgreements)
1417    c_cardinality['governing_agreements'] = {"min": 0, "max": 1}
1418    c_children[
1419        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
1420        'extension', [Extension])
1421    c_cardinality['extension'] = {"min": 0}
1422    c_attributes['nym'] = ('nym', NymType_, False)
1423    c_child_order.extend(
1424        ['physical_verification', 'written_consent', 'governing_agreements',
1425         'extension'])
1426
1427    def __init__(self,
1428                 physical_verification=None,
1429                 written_consent=None,
1430                 governing_agreements=None,
1431                 extension=None,
1432                 nym=None,
1433                 text=None,
1434                 extension_elements=None,
1435                 extension_attributes=None,
1436    ):
1437        SamlBase.__init__(self,
1438                          text=text,
1439                          extension_elements=extension_elements,
1440                          extension_attributes=extension_attributes,
1441        )
1442        self.physical_verification = physical_verification
1443        self.written_consent = written_consent
1444        self.governing_agreements = governing_agreements
1445        self.extension = extension or []
1446        self.nym = nym
1447
1448
1449def identification_type__from_string(xml_string):
1450    return saml2.create_class_from_xml_string(IdentificationType_, xml_string)
1451
1452
1453class AuthenticatorTransportProtocolType_(SamlBase):
1454    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:AuthenticatorTransportProtocolType element """
1455
1456    c_tag = 'AuthenticatorTransportProtocolType'
1457    c_namespace = NAMESPACE
1458    c_children = SamlBase.c_children.copy()
1459    c_attributes = SamlBase.c_attributes.copy()
1460    c_child_order = SamlBase.c_child_order[:]
1461    c_cardinality = SamlBase.c_cardinality.copy()
1462    c_children[
1463        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}HTTP'] = (
1464        'http', HTTP)
1465    c_cardinality['http'] = {"min": 0, "max": 1}
1466    c_children[
1467        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}SSL'] = (
1468        'ssl', SSL)
1469    c_cardinality['ssl'] = {"min": 0, "max": 1}
1470    c_children[
1471        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}MobileNetworkNoEncryption'] = (
1472        'mobile_network_no_encryption', MobileNetworkNoEncryption)
1473    c_cardinality['mobile_network_no_encryption'] = {"min": 0, "max": 1}
1474    c_children[
1475        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}MobileNetworkRadioEncryption'] = (
1476        'mobile_network_radio_encryption', MobileNetworkRadioEncryption)
1477    c_cardinality['mobile_network_radio_encryption'] = {"min": 0, "max": 1}
1478    c_children[
1479        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}MobileNetworkEndToEndEncryption'] = (
1480        'mobile_network_end_to_end_encryption', MobileNetworkEndToEndEncryption)
1481    c_cardinality['mobile_network_end_to_end_encryption'] = {"min": 0, "max": 1}
1482    c_children[
1483        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}WTLS'] = (
1484        'wtls', WTLS)
1485    c_cardinality['wtls'] = {"min": 0, "max": 1}
1486    c_children[
1487        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}IPSec'] = (
1488        'ip_sec', IPSec)
1489    c_cardinality['ip_sec'] = {"min": 0, "max": 1}
1490    c_children[
1491        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}PSTN'] = (
1492        'pstn', PSTN)
1493    c_cardinality['pstn'] = {"min": 0, "max": 1}
1494    c_children[
1495        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}ISDN'] = (
1496        'isdn', ISDN)
1497    c_cardinality['isdn'] = {"min": 0, "max": 1}
1498    c_children[
1499        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}ADSL'] = (
1500        'adsl', ADSL)
1501    c_cardinality['adsl'] = {"min": 0, "max": 1}
1502    c_children[
1503        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
1504        'extension', [Extension])
1505    c_cardinality['extension'] = {"min": 0}
1506    c_child_order.extend(['http', 'ssl', 'mobile_network_no_encryption',
1507                          'mobile_network_radio_encryption',
1508                          'mobile_network_end_to_end_encryption', 'wtls',
1509                          'ip_sec', 'pstn', 'isdn', 'adsl', 'extension'])
1510
1511    def __init__(self,
1512                 http=None,
1513                 ssl=None,
1514                 mobile_network_no_encryption=None,
1515                 mobile_network_radio_encryption=None,
1516                 mobile_network_end_to_end_encryption=None,
1517                 wtls=None,
1518                 ip_sec=None,
1519                 pstn=None,
1520                 isdn=None,
1521                 adsl=None,
1522                 extension=None,
1523                 text=None,
1524                 extension_elements=None,
1525                 extension_attributes=None,
1526    ):
1527        SamlBase.__init__(self,
1528                          text=text,
1529                          extension_elements=extension_elements,
1530                          extension_attributes=extension_attributes,
1531        )
1532        self.http = http
1533        self.ssl = ssl
1534        self.mobile_network_no_encryption = mobile_network_no_encryption
1535        self.mobile_network_radio_encryption = mobile_network_radio_encryption
1536        self.mobile_network_end_to_end_encryption = mobile_network_end_to_end_encryption
1537        self.wtls = wtls
1538        self.ip_sec = ip_sec
1539        self.pstn = pstn
1540        self.isdn = isdn
1541        self.adsl = adsl
1542        self.extension = extension or []
1543
1544
1545def authenticator_transport_protocol_type__from_string(xml_string):
1546    return saml2.create_class_from_xml_string(
1547        AuthenticatorTransportProtocolType_, xml_string)
1548
1549
1550class RestrictedPassword(RestrictedPasswordType_):
1551    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:RestrictedPassword element """
1552
1553    c_tag = 'RestrictedPassword'
1554    c_namespace = NAMESPACE
1555    c_children = RestrictedPasswordType_.c_children.copy()
1556    c_attributes = RestrictedPasswordType_.c_attributes.copy()
1557    c_child_order = RestrictedPasswordType_.c_child_order[:]
1558    c_cardinality = RestrictedPasswordType_.c_cardinality.copy()
1559
1560
1561def restricted_password_from_string(xml_string):
1562    return saml2.create_class_from_xml_string(RestrictedPassword, xml_string)
1563
1564
1565class ActivationPinType_(SamlBase):
1566    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ActivationPinType element """
1567
1568    c_tag = 'ActivationPinType'
1569    c_namespace = NAMESPACE
1570    c_children = SamlBase.c_children.copy()
1571    c_attributes = SamlBase.c_attributes.copy()
1572    c_child_order = SamlBase.c_child_order[:]
1573    c_cardinality = SamlBase.c_cardinality.copy()
1574    c_children[
1575        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Length'] = (
1576        'length', Length)
1577    c_cardinality['length'] = {"min": 0, "max": 1}
1578    c_children[
1579        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Alphabet'] = (
1580        'alphabet', Alphabet)
1581    c_cardinality['alphabet'] = {"min": 0, "max": 1}
1582    c_children[
1583        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Generation'] = (
1584        'generation', Generation)
1585    c_cardinality['generation'] = {"min": 0, "max": 1}
1586    c_children[
1587        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}ActivationLimit'] = (
1588        'activation_limit', ActivationLimit)
1589    c_cardinality['activation_limit'] = {"min": 0, "max": 1}
1590    c_children[
1591        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
1592        'extension', [Extension])
1593    c_cardinality['extension'] = {"min": 0}
1594    c_child_order.extend(
1595        ['length', 'alphabet', 'generation', 'activation_limit', 'extension'])
1596
1597    def __init__(self,
1598                 length=None,
1599                 alphabet=None,
1600                 generation=None,
1601                 activation_limit=None,
1602                 extension=None,
1603                 text=None,
1604                 extension_elements=None,
1605                 extension_attributes=None,
1606    ):
1607        SamlBase.__init__(self,
1608                          text=text,
1609                          extension_elements=extension_elements,
1610                          extension_attributes=extension_attributes,
1611        )
1612        self.length = length
1613        self.alphabet = alphabet
1614        self.generation = generation
1615        self.activation_limit = activation_limit
1616        self.extension = extension or []
1617
1618
1619def activation_pin_type__from_string(xml_string):
1620    return saml2.create_class_from_xml_string(ActivationPinType_, xml_string)
1621
1622
1623class SecurityAuditType_(SamlBase):
1624    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:SecurityAuditType element """
1625
1626    c_tag = 'SecurityAuditType'
1627    c_namespace = NAMESPACE
1628    c_children = SamlBase.c_children.copy()
1629    c_attributes = SamlBase.c_attributes.copy()
1630    c_child_order = SamlBase.c_child_order[:]
1631    c_cardinality = SamlBase.c_cardinality.copy()
1632    c_children[
1633        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}SwitchAudit'] = (
1634        'switch_audit', SwitchAudit)
1635    c_cardinality['switch_audit'] = {"min": 0, "max": 1}
1636    c_children[
1637        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
1638        'extension', [Extension])
1639    c_cardinality['extension'] = {"min": 0}
1640    c_child_order.extend(['switch_audit', 'extension'])
1641
1642    def __init__(self,
1643                 switch_audit=None,
1644                 extension=None,
1645                 text=None,
1646                 extension_elements=None,
1647                 extension_attributes=None,
1648    ):
1649        SamlBase.__init__(self,
1650                          text=text,
1651                          extension_elements=extension_elements,
1652                          extension_attributes=extension_attributes,
1653        )
1654        self.switch_audit = switch_audit
1655        self.extension = extension or []
1656
1657
1658def security_audit_type__from_string(xml_string):
1659    return saml2.create_class_from_xml_string(SecurityAuditType_, xml_string)
1660
1661
1662class AuthenticatorBaseType_(SamlBase):
1663    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:AuthenticatorBaseType element """
1664
1665    c_tag = 'AuthenticatorBaseType'
1666    c_namespace = NAMESPACE
1667    c_children = SamlBase.c_children.copy()
1668    c_attributes = SamlBase.c_attributes.copy()
1669    c_child_order = SamlBase.c_child_order[:]
1670    c_cardinality = SamlBase.c_cardinality.copy()
1671    c_children[
1672        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Password'] = (
1673        'password', Password)
1674    c_children[
1675        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}IPAddress'] = (
1676        'ip_address', IPAddress)
1677    c_children[
1678        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
1679        'extension', [Extension])
1680    c_cardinality['extension'] = {"min": 0}
1681    c_child_order.extend(['password', 'ip_address', 'extension'])
1682
1683    def __init__(self,
1684                 password=None,
1685                 ip_address=None,
1686                 extension=None,
1687                 text=None,
1688                 extension_elements=None,
1689                 extension_attributes=None,
1690    ):
1691        SamlBase.__init__(self,
1692                          text=text,
1693                          extension_elements=extension_elements,
1694                          extension_attributes=extension_attributes,
1695        )
1696        self.password = password
1697        self.ip_address = ip_address
1698        self.extension = extension or []
1699
1700
1701def authenticator_base_type__from_string(xml_string):
1702    return saml2.create_class_from_xml_string(AuthenticatorBaseType_,
1703                                              xml_string)
1704
1705
1706class Identification(IdentificationType_):
1707    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:Identification element """
1708
1709    c_tag = 'Identification'
1710    c_namespace = NAMESPACE
1711    c_children = IdentificationType_.c_children.copy()
1712    c_attributes = IdentificationType_.c_attributes.copy()
1713    c_child_order = IdentificationType_.c_child_order[:]
1714    c_cardinality = IdentificationType_.c_cardinality.copy()
1715
1716
1717def identification_from_string(xml_string):
1718    return saml2.create_class_from_xml_string(Identification, xml_string)
1719
1720
1721class ActivationPin(ActivationPinType_):
1722    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ActivationPin element """
1723
1724    c_tag = 'ActivationPin'
1725    c_namespace = NAMESPACE
1726    c_children = ActivationPinType_.c_children.copy()
1727    c_attributes = ActivationPinType_.c_attributes.copy()
1728    c_child_order = ActivationPinType_.c_child_order[:]
1729    c_cardinality = ActivationPinType_.c_cardinality.copy()
1730
1731
1732def activation_pin_from_string(xml_string):
1733    return saml2.create_class_from_xml_string(ActivationPin, xml_string)
1734
1735
1736class Authenticator(AuthenticatorBaseType_):
1737    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:Authenticator element """
1738
1739    c_tag = 'Authenticator'
1740    c_namespace = NAMESPACE
1741    c_children = AuthenticatorBaseType_.c_children.copy()
1742    c_attributes = AuthenticatorBaseType_.c_attributes.copy()
1743    c_child_order = AuthenticatorBaseType_.c_child_order[:]
1744    c_cardinality = AuthenticatorBaseType_.c_cardinality.copy()
1745
1746
1747def authenticator_from_string(xml_string):
1748    return saml2.create_class_from_xml_string(Authenticator, xml_string)
1749
1750
1751class AuthenticatorTransportProtocol(AuthenticatorTransportProtocolType_):
1752    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:AuthenticatorTransportProtocol element """
1753
1754    c_tag = 'AuthenticatorTransportProtocol'
1755    c_namespace = NAMESPACE
1756    c_children = AuthenticatorTransportProtocolType_.c_children.copy()
1757    c_attributes = AuthenticatorTransportProtocolType_.c_attributes.copy()
1758    c_child_order = AuthenticatorTransportProtocolType_.c_child_order[:]
1759    c_cardinality = AuthenticatorTransportProtocolType_.c_cardinality.copy()
1760
1761
1762def authenticator_transport_protocol_from_string(xml_string):
1763    return saml2.create_class_from_xml_string(AuthenticatorTransportProtocol,
1764                                              xml_string)
1765
1766
1767class SecurityAudit(SecurityAuditType_):
1768    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:SecurityAudit element """
1769
1770    c_tag = 'SecurityAudit'
1771    c_namespace = NAMESPACE
1772    c_children = SecurityAuditType_.c_children.copy()
1773    c_attributes = SecurityAuditType_.c_attributes.copy()
1774    c_child_order = SecurityAuditType_.c_child_order[:]
1775    c_cardinality = SecurityAuditType_.c_cardinality.copy()
1776
1777
1778def security_audit_from_string(xml_string):
1779    return saml2.create_class_from_xml_string(SecurityAudit, xml_string)
1780
1781
1782class OperationalProtectionType_(SamlBase):
1783    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:OperationalProtectionType element """
1784
1785    c_tag = 'OperationalProtectionType'
1786    c_namespace = NAMESPACE
1787    c_children = SamlBase.c_children.copy()
1788    c_attributes = SamlBase.c_attributes.copy()
1789    c_child_order = SamlBase.c_child_order[:]
1790    c_cardinality = SamlBase.c_cardinality.copy()
1791    c_children[
1792        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}SecurityAudit'] = (
1793        'security_audit', SecurityAudit)
1794    c_cardinality['security_audit'] = {"min": 0, "max": 1}
1795    c_children[
1796        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}DeactivationCallCenter'] = (
1797        'deactivation_call_center', DeactivationCallCenter)
1798    c_cardinality['deactivation_call_center'] = {"min": 0, "max": 1}
1799    c_children[
1800        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
1801        'extension', [Extension])
1802    c_cardinality['extension'] = {"min": 0}
1803    c_child_order.extend(
1804        ['security_audit', 'deactivation_call_center', 'extension'])
1805
1806    def __init__(self,
1807                 security_audit=None,
1808                 deactivation_call_center=None,
1809                 extension=None,
1810                 text=None,
1811                 extension_elements=None,
1812                 extension_attributes=None,
1813    ):
1814        SamlBase.__init__(self,
1815                          text=text,
1816                          extension_elements=extension_elements,
1817                          extension_attributes=extension_attributes,
1818        )
1819        self.security_audit = security_audit
1820        self.deactivation_call_center = deactivation_call_center
1821        self.extension = extension or []
1822
1823
1824def operational_protection_type__from_string(xml_string):
1825    return saml2.create_class_from_xml_string(OperationalProtectionType_,
1826                                              xml_string)
1827
1828
1829class PrincipalAuthenticationMechanismType_(SamlBase):
1830    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:PrincipalAuthenticationMechanismType element """
1831
1832    c_tag = 'PrincipalAuthenticationMechanismType'
1833    c_namespace = NAMESPACE
1834    c_children = SamlBase.c_children.copy()
1835    c_attributes = SamlBase.c_attributes.copy()
1836    c_child_order = SamlBase.c_child_order[:]
1837    c_cardinality = SamlBase.c_cardinality.copy()
1838    c_children[
1839        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Password'] = (
1840        'password', Password)
1841    c_cardinality['password'] = {"min": 0, "max": 1}
1842    c_children[
1843        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}RestrictedPassword'] = (
1844        'restricted_password', RestrictedPassword)
1845    c_cardinality['restricted_password'] = {"min": 0, "max": 1}
1846    c_children[
1847        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Token'] = (
1848        'token', Token)
1849    c_cardinality['token'] = {"min": 0, "max": 1}
1850    c_children[
1851        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Smartcard'] = (
1852        'smartcard', Smartcard)
1853    c_cardinality['smartcard'] = {"min": 0, "max": 1}
1854    c_children[
1855        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}ActivationPin'] = (
1856        'activation_pin', ActivationPin)
1857    c_cardinality['activation_pin'] = {"min": 0, "max": 1}
1858    c_children[
1859        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
1860        'extension', [Extension])
1861    c_cardinality['extension'] = {"min": 0}
1862    c_attributes['preauth'] = ('preauth', 'integer', False)
1863    c_child_order.extend(
1864        ['password', 'restricted_password', 'token', 'smartcard',
1865         'activation_pin', 'extension'])
1866
1867    def __init__(self,
1868                 password=None,
1869                 restricted_password=None,
1870                 token=None,
1871                 smartcard=None,
1872                 activation_pin=None,
1873                 extension=None,
1874                 preauth=None,
1875                 text=None,
1876                 extension_elements=None,
1877                 extension_attributes=None,
1878    ):
1879        SamlBase.__init__(self,
1880                          text=text,
1881                          extension_elements=extension_elements,
1882                          extension_attributes=extension_attributes,
1883        )
1884        self.password = password
1885        self.restricted_password = restricted_password
1886        self.token = token
1887        self.smartcard = smartcard
1888        self.activation_pin = activation_pin
1889        self.extension = extension or []
1890        self.preauth = preauth
1891
1892
1893def principal_authentication_mechanism_type__from_string(xml_string):
1894    return saml2.create_class_from_xml_string(
1895        PrincipalAuthenticationMechanismType_, xml_string)
1896
1897
1898class KeyActivationType_(SamlBase):
1899    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:KeyActivationType element """
1900
1901    c_tag = 'KeyActivationType'
1902    c_namespace = NAMESPACE
1903    c_children = SamlBase.c_children.copy()
1904    c_attributes = SamlBase.c_attributes.copy()
1905    c_child_order = SamlBase.c_child_order[:]
1906    c_cardinality = SamlBase.c_cardinality.copy()
1907    c_children[
1908        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}ActivationPin'] = (
1909        'activation_pin', ActivationPin)
1910    c_cardinality['activation_pin'] = {"min": 0, "max": 1}
1911    c_children[
1912        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword' \
1913        '}Extension'] = (
1914        'extension', [Extension])
1915    c_cardinality['extension'] = {"min": 0}
1916    c_child_order.extend(['activation_pin', 'extension'])
1917
1918    def __init__(self,
1919                 activation_pin=None,
1920                 extension=None,
1921                 text=None,
1922                 extension_elements=None,
1923                 extension_attributes=None,
1924    ):
1925        SamlBase.__init__(self,
1926                          text=text,
1927                          extension_elements=extension_elements,
1928                          extension_attributes=extension_attributes,
1929        )
1930        self.activation_pin = activation_pin
1931        self.extension = extension or []
1932
1933
1934def key_activation_type__from_string(xml_string):
1935    return saml2.create_class_from_xml_string(KeyActivationType_, xml_string)
1936
1937
1938class KeyActivation(KeyActivationType_):
1939    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:KeyActivation element """
1940
1941    c_tag = 'KeyActivation'
1942    c_namespace = NAMESPACE
1943    c_children = KeyActivationType_.c_children.copy()
1944    c_attributes = KeyActivationType_.c_attributes.copy()
1945    c_child_order = KeyActivationType_.c_child_order[:]
1946    c_cardinality = KeyActivationType_.c_cardinality.copy()
1947
1948
1949def key_activation_from_string(xml_string):
1950    return saml2.create_class_from_xml_string(KeyActivation, xml_string)
1951
1952
1953class PrincipalAuthenticationMechanism(PrincipalAuthenticationMechanismType_):
1954    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:PrincipalAuthenticationMechanism element """
1955
1956    c_tag = 'PrincipalAuthenticationMechanism'
1957    c_namespace = NAMESPACE
1958    c_children = PrincipalAuthenticationMechanismType_.c_children.copy()
1959    c_attributes = PrincipalAuthenticationMechanismType_.c_attributes.copy()
1960    c_child_order = PrincipalAuthenticationMechanismType_.c_child_order[:]
1961    c_cardinality = PrincipalAuthenticationMechanismType_.c_cardinality.copy()
1962
1963
1964def principal_authentication_mechanism_from_string(xml_string):
1965    return saml2.create_class_from_xml_string(PrincipalAuthenticationMechanism,
1966                                              xml_string)
1967
1968
1969class OperationalProtection(OperationalProtectionType_):
1970    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:OperationalProtection element """
1971
1972    c_tag = 'OperationalProtection'
1973    c_namespace = NAMESPACE
1974    c_children = OperationalProtectionType_.c_children.copy()
1975    c_attributes = OperationalProtectionType_.c_attributes.copy()
1976    c_child_order = OperationalProtectionType_.c_child_order[:]
1977    c_cardinality = OperationalProtectionType_.c_cardinality.copy()
1978
1979
1980def operational_protection_from_string(xml_string):
1981    return saml2.create_class_from_xml_string(OperationalProtection, xml_string)
1982
1983
1984class PrivateKeyProtectionType_(SamlBase):
1985    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:PrivateKeyProtectionType element """
1986
1987    c_tag = 'PrivateKeyProtectionType'
1988    c_namespace = NAMESPACE
1989    c_children = SamlBase.c_children.copy()
1990    c_attributes = SamlBase.c_attributes.copy()
1991    c_child_order = SamlBase.c_child_order[:]
1992    c_cardinality = SamlBase.c_cardinality.copy()
1993    c_children[
1994        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}KeyActivation'] = (
1995        'key_activation', KeyActivation)
1996    c_cardinality['key_activation'] = {"min": 0, "max": 1}
1997    c_children[
1998        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}KeyStorage'] = (
1999        'key_storage', KeyStorage)
2000    c_cardinality['key_storage'] = {"min": 0, "max": 1}
2001    c_children[
2002        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}KeySharing'] = (
2003        'key_sharing', KeySharing)
2004    c_cardinality['key_sharing'] = {"min": 0, "max": 1}
2005    c_children[
2006        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
2007        'extension', [Extension])
2008    c_cardinality['extension'] = {"min": 0}
2009    c_child_order.extend(
2010        ['key_activation', 'key_storage', 'key_sharing', 'extension'])
2011
2012    def __init__(self,
2013                 key_activation=None,
2014                 key_storage=None,
2015                 key_sharing=None,
2016                 extension=None,
2017                 text=None,
2018                 extension_elements=None,
2019                 extension_attributes=None,
2020    ):
2021        SamlBase.__init__(self,
2022                          text=text,
2023                          extension_elements=extension_elements,
2024                          extension_attributes=extension_attributes,
2025        )
2026        self.key_activation = key_activation
2027        self.key_storage = key_storage
2028        self.key_sharing = key_sharing
2029        self.extension = extension or []
2030
2031
2032def private_key_protection_type__from_string(xml_string):
2033    return saml2.create_class_from_xml_string(PrivateKeyProtectionType_,
2034                                              xml_string)
2035
2036
2037class SecretKeyProtectionType_(SamlBase):
2038    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:SecretKeyProtectionType element """
2039
2040    c_tag = 'SecretKeyProtectionType'
2041    c_namespace = NAMESPACE
2042    c_children = SamlBase.c_children.copy()
2043    c_attributes = SamlBase.c_attributes.copy()
2044    c_child_order = SamlBase.c_child_order[:]
2045    c_cardinality = SamlBase.c_cardinality.copy()
2046    c_children[
2047        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}KeyActivation'] = (
2048        'key_activation', KeyActivation)
2049    c_cardinality['key_activation'] = {"min": 0, "max": 1}
2050    c_children[
2051        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}KeyStorage'] = (
2052        'key_storage', KeyStorage)
2053    c_cardinality['key_storage'] = {"min": 0, "max": 1}
2054    c_children[
2055        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
2056        'extension', [Extension])
2057    c_cardinality['extension'] = {"min": 0}
2058    c_child_order.extend(['key_activation', 'key_storage', 'extension'])
2059
2060    def __init__(self,
2061                 key_activation=None,
2062                 key_storage=None,
2063                 extension=None,
2064                 text=None,
2065                 extension_elements=None,
2066                 extension_attributes=None,
2067    ):
2068        SamlBase.__init__(self,
2069                          text=text,
2070                          extension_elements=extension_elements,
2071                          extension_attributes=extension_attributes,
2072        )
2073        self.key_activation = key_activation
2074        self.key_storage = key_storage
2075        self.extension = extension or []
2076
2077
2078def secret_key_protection_type__from_string(xml_string):
2079    return saml2.create_class_from_xml_string(SecretKeyProtectionType_,
2080                                              xml_string)
2081
2082
2083class AuthnMethodBaseType_(SamlBase):
2084    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:AuthnMethodBaseType element """
2085
2086    c_tag = 'AuthnMethodBaseType'
2087    c_namespace = NAMESPACE
2088    c_children = SamlBase.c_children.copy()
2089    c_attributes = SamlBase.c_attributes.copy()
2090    c_child_order = SamlBase.c_child_order[:]
2091    c_cardinality = SamlBase.c_cardinality.copy()
2092    c_children[
2093        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}PrincipalAuthenticationMechanism'] = (
2094        'principal_authentication_mechanism', PrincipalAuthenticationMechanism)
2095    c_cardinality['principal_authentication_mechanism'] = {"min": 0, "max": 1}
2096    c_children[
2097        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Authenticator'] = (
2098        'authenticator', Authenticator)
2099    c_children[
2100        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}AuthenticatorTransportProtocol'] = (
2101        'authenticator_transport_protocol', AuthenticatorTransportProtocol)
2102    c_cardinality['authenticator_transport_protocol'] = {"min": 0, "max": 1}
2103    c_children[
2104        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword' \
2105        '}Extension'] = (
2106        'extension', [Extension])
2107    c_cardinality['extension'] = {"min": 0}
2108    c_child_order.extend(['principal_authentication_mechanism', 'authenticator',
2109                          'authenticator_transport_protocol', 'extension'])
2110
2111    def __init__(self,
2112                 principal_authentication_mechanism=None,
2113                 authenticator=None,
2114                 authenticator_transport_protocol=None,
2115                 extension=None,
2116                 text=None,
2117                 extension_elements=None,
2118                 extension_attributes=None,
2119    ):
2120        SamlBase.__init__(self,
2121                          text=text,
2122                          extension_elements=extension_elements,
2123                          extension_attributes=extension_attributes,
2124        )
2125        self.principal_authentication_mechanism = principal_authentication_mechanism
2126        self.authenticator = authenticator
2127        self.authenticator_transport_protocol = authenticator_transport_protocol
2128        self.extension = extension or []
2129
2130
2131def authn_method_base_type__from_string(xml_string):
2132    return saml2.create_class_from_xml_string(AuthnMethodBaseType_, xml_string)
2133
2134
2135class SecretKeyProtection(SecretKeyProtectionType_):
2136    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:SecretKeyProtection element """
2137
2138    c_tag = 'SecretKeyProtection'
2139    c_namespace = NAMESPACE
2140    c_children = SecretKeyProtectionType_.c_children.copy()
2141    c_attributes = SecretKeyProtectionType_.c_attributes.copy()
2142    c_child_order = SecretKeyProtectionType_.c_child_order[:]
2143    c_cardinality = SecretKeyProtectionType_.c_cardinality.copy()
2144
2145
2146def secret_key_protection_from_string(xml_string):
2147    return saml2.create_class_from_xml_string(SecretKeyProtection, xml_string)
2148
2149
2150class PrivateKeyProtection(PrivateKeyProtectionType_):
2151    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:PrivateKeyProtection element """
2152
2153    c_tag = 'PrivateKeyProtection'
2154    c_namespace = NAMESPACE
2155    c_children = PrivateKeyProtectionType_.c_children.copy()
2156    c_attributes = PrivateKeyProtectionType_.c_attributes.copy()
2157    c_child_order = PrivateKeyProtectionType_.c_child_order[:]
2158    c_cardinality = PrivateKeyProtectionType_.c_cardinality.copy()
2159
2160
2161def private_key_protection_from_string(xml_string):
2162    return saml2.create_class_from_xml_string(PrivateKeyProtection, xml_string)
2163
2164
2165class AuthnMethod(AuthnMethodBaseType_):
2166    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:AuthnMethod element """
2167
2168    c_tag = 'AuthnMethod'
2169    c_namespace = NAMESPACE
2170    c_children = AuthnMethodBaseType_.c_children.copy()
2171    c_attributes = AuthnMethodBaseType_.c_attributes.copy()
2172    c_child_order = AuthnMethodBaseType_.c_child_order[:]
2173    c_cardinality = AuthnMethodBaseType_.c_cardinality.copy()
2174
2175
2176def authn_method_from_string(xml_string):
2177    return saml2.create_class_from_xml_string(AuthnMethod, xml_string)
2178
2179
2180class TechnicalProtectionBaseType_(SamlBase):
2181    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:TechnicalProtectionBaseType element """
2182
2183    c_tag = 'TechnicalProtectionBaseType'
2184    c_namespace = NAMESPACE
2185    c_children = SamlBase.c_children.copy()
2186    c_attributes = SamlBase.c_attributes.copy()
2187    c_child_order = SamlBase.c_child_order[:]
2188    c_cardinality = SamlBase.c_cardinality.copy()
2189    c_children[
2190        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}PrivateKeyProtection'] = (
2191        'private_key_protection', PrivateKeyProtection)
2192    c_cardinality['private_key_protection'] = {"min": 0, "max": 1}
2193    c_children[
2194        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}SecretKeyProtection'] = (
2195        'secret_key_protection', SecretKeyProtection)
2196    c_cardinality['secret_key_protection'] = {"min": 0, "max": 1}
2197    c_children[
2198        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
2199        'extension', [Extension])
2200    c_cardinality['extension'] = {"min": 0}
2201    c_child_order.extend(
2202        ['private_key_protection', 'secret_key_protection', 'extension'])
2203
2204    def __init__(self,
2205                 private_key_protection=None,
2206                 secret_key_protection=None,
2207                 extension=None,
2208                 text=None,
2209                 extension_elements=None,
2210                 extension_attributes=None,
2211    ):
2212        SamlBase.__init__(self,
2213                          text=text,
2214                          extension_elements=extension_elements,
2215                          extension_attributes=extension_attributes,
2216        )
2217        self.private_key_protection = private_key_protection
2218        self.secret_key_protection = secret_key_protection
2219        self.extension = extension or []
2220
2221
2222def technical_protection_base_type__from_string(xml_string):
2223    return saml2.create_class_from_xml_string(TechnicalProtectionBaseType_,
2224                                              xml_string)
2225
2226
2227class TechnicalProtection(TechnicalProtectionBaseType_):
2228    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:TechnicalProtection element """
2229
2230    c_tag = 'TechnicalProtection'
2231    c_namespace = NAMESPACE
2232    c_children = TechnicalProtectionBaseType_.c_children.copy()
2233    c_attributes = TechnicalProtectionBaseType_.c_attributes.copy()
2234    c_child_order = TechnicalProtectionBaseType_.c_child_order[:]
2235    c_cardinality = TechnicalProtectionBaseType_.c_cardinality.copy()
2236
2237
2238def technical_protection_from_string(xml_string):
2239    return saml2.create_class_from_xml_string(TechnicalProtection, xml_string)
2240
2241
2242class AuthnContextDeclarationBaseType_(SamlBase):
2243    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:AuthnContextDeclarationBaseType element """
2244
2245    c_tag = 'AuthnContextDeclarationBaseType'
2246    c_namespace = NAMESPACE
2247    c_children = SamlBase.c_children.copy()
2248    c_attributes = SamlBase.c_attributes.copy()
2249    c_child_order = SamlBase.c_child_order[:]
2250    c_cardinality = SamlBase.c_cardinality.copy()
2251    c_children[
2252        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Identification'] = (
2253        'identification', Identification)
2254    c_cardinality['identification'] = {"min": 0, "max": 1}
2255    c_children[
2256        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}TechnicalProtection'] = (
2257        'technical_protection', TechnicalProtection)
2258    c_cardinality['technical_protection'] = {"min": 0, "max": 1}
2259    c_children[
2260        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}OperationalProtection'] = (
2261        'operational_protection', OperationalProtection)
2262    c_cardinality['operational_protection'] = {"min": 0, "max": 1}
2263    c_children[
2264        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}AuthnMethod'] = (
2265        'authn_method', AuthnMethod)
2266    c_children[
2267        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}GoverningAgreements'] = (
2268        'governing_agreements', GoverningAgreements)
2269    c_cardinality['governing_agreements'] = {"min": 0, "max": 1}
2270    c_children[
2271        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
2272        'extension', [Extension])
2273    c_cardinality['extension'] = {"min": 0}
2274    c_attributes['ID'] = ('id', 'ID', False)
2275    c_child_order.extend(
2276        ['identification', 'technical_protection', 'operational_protection',
2277         'authn_method', 'governing_agreements', 'extension'])
2278
2279    def __init__(self,
2280                 identification=None,
2281                 technical_protection=None,
2282                 operational_protection=None,
2283                 authn_method=None,
2284                 governing_agreements=None,
2285                 extension=None,
2286                 id=None,
2287                 text=None,
2288                 extension_elements=None,
2289                 extension_attributes=None,
2290    ):
2291        SamlBase.__init__(self,
2292                          text=text,
2293                          extension_elements=extension_elements,
2294                          extension_attributes=extension_attributes,
2295        )
2296        self.identification = identification
2297        self.technical_protection = technical_protection
2298        self.operational_protection = operational_protection
2299        self.authn_method = authn_method
2300        self.governing_agreements = governing_agreements
2301        self.extension = extension or []
2302        self.id = id
2303
2304
2305def authn_context_declaration_base_type__from_string(xml_string):
2306    return saml2.create_class_from_xml_string(AuthnContextDeclarationBaseType_,
2307                                              xml_string)
2308
2309
2310class AuthenticationContextDeclaration(AuthnContextDeclarationBaseType_):
2311    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:AuthenticationContextDeclaration element """
2312
2313    c_tag = 'AuthenticationContextDeclaration'
2314    c_namespace = NAMESPACE
2315    c_children = AuthnContextDeclarationBaseType_.c_children.copy()
2316    c_attributes = AuthnContextDeclarationBaseType_.c_attributes.copy()
2317    c_child_order = AuthnContextDeclarationBaseType_.c_child_order[:]
2318    c_cardinality = AuthnContextDeclarationBaseType_.c_cardinality.copy()
2319
2320
2321def authentication_context_declaration_from_string(xml_string):
2322    return saml2.create_class_from_xml_string(AuthenticationContextDeclaration,
2323                                              xml_string)
2324
2325
2326#..................
2327# ['ComplexAuthenticator', 'ComplexAuthenticatorType']
2328class ComplexAuthenticatorType_(SamlBase):
2329    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ComplexAuthenticatorType element """
2330
2331    c_tag = 'ComplexAuthenticatorType'
2332    c_namespace = NAMESPACE
2333    c_children = SamlBase.c_children.copy()
2334    c_attributes = SamlBase.c_attributes.copy()
2335    c_child_order = SamlBase.c_child_order[:]
2336    c_cardinality = SamlBase.c_cardinality.copy()
2337    c_children[
2338        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}PreviousSession'] = (
2339        'previous_session', PreviousSession)
2340    c_cardinality['previous_session'] = {"min": 0, "max": 1}
2341    c_children[
2342        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}ResumeSession'] = (
2343        'resume_session', ResumeSession)
2344    c_cardinality['resume_session'] = {"min": 0, "max": 1}
2345    c_children[
2346        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}DigSig'] = (
2347        'dig_sig', DigSig)
2348    c_cardinality['dig_sig'] = {"min": 0, "max": 1}
2349    c_children[
2350        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Password'] = (
2351        'password', Password)
2352    c_cardinality['password'] = {"min": 0, "max": 1}
2353    c_children[
2354        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}RestrictedPassword'] = (
2355        'restricted_password', RestrictedPassword)
2356    c_cardinality['restricted_password'] = {"min": 0, "max": 1}
2357    c_children[
2358        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}ZeroKnowledge'] = (
2359        'zero_knowledge', ZeroKnowledge)
2360    c_cardinality['zero_knowledge'] = {"min": 0, "max": 1}
2361    c_children[
2362        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}SharedSecretChallengeResponse'] = (
2363        'shared_secret_challenge_response', SharedSecretChallengeResponse)
2364    c_cardinality['shared_secret_challenge_response'] = {"min": 0, "max": 1}
2365    c_children[
2366        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}SharedSecretDynamicPlaintext'] = (
2367        'shared_secret_dynamic_plaintext', SharedSecretDynamicPlaintext)
2368    c_cardinality['shared_secret_dynamic_plaintext'] = {"min": 0, "max": 1}
2369    c_children[
2370        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}IPAddress'] = (
2371        'ip_address', IPAddress)
2372    c_cardinality['ip_address'] = {"min": 0, "max": 1}
2373    c_children[
2374        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}AsymmetricDecryption'] = (
2375        'asymmetric_decryption', AsymmetricDecryption)
2376    c_cardinality['asymmetric_decryption'] = {"min": 0, "max": 1}
2377    c_children[
2378        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}AsymmetricKeyAgreement'] = (
2379        'asymmetric_key_agreement', AsymmetricKeyAgreement)
2380    c_cardinality['asymmetric_key_agreement'] = {"min": 0, "max": 1}
2381    c_children[
2382        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}SubscriberLineNumber'] = (
2383        'subscriber_line_number', SubscriberLineNumber)
2384    c_cardinality['subscriber_line_number'] = {"min": 0, "max": 1}
2385    c_children[
2386        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}UserSuffix'] = (
2387        'user_suffix', UserSuffix)
2388    c_cardinality['user_suffix'] = {"min": 0, "max": 1}
2389    c_cardinality['complex_authenticator'] = {"min": 0, "max": 1}
2390    c_children[
2391        '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}Extension'] = (
2392        'extension', [Extension])
2393    c_cardinality['extension'] = {"min": 0}
2394    c_child_order.extend(
2395        ['previous_session', 'resume_session', 'dig_sig', 'password',
2396         'restricted_password', 'zero_knowledge',
2397         'shared_secret_challenge_response', 'shared_secret_dynamic_plaintext',
2398         'ip_address', 'asymmetric_decryption', 'asymmetric_key_agreement',
2399         'subscriber_line_number', 'user_suffix', 'complex_authenticator',
2400         'extension'])
2401
2402    def __init__(self,
2403                 previous_session=None,
2404                 resume_session=None,
2405                 dig_sig=None,
2406                 password=None,
2407                 restricted_password=None,
2408                 zero_knowledge=None,
2409                 shared_secret_challenge_response=None,
2410                 shared_secret_dynamic_plaintext=None,
2411                 ip_address=None,
2412                 asymmetric_decryption=None,
2413                 asymmetric_key_agreement=None,
2414                 subscriber_line_number=None,
2415                 user_suffix=None,
2416                 complex_authenticator=None,
2417                 extension=None,
2418                 text=None,
2419                 extension_elements=None,
2420                 extension_attributes=None,
2421    ):
2422        SamlBase.__init__(self,
2423                          text=text,
2424                          extension_elements=extension_elements,
2425                          extension_attributes=extension_attributes,
2426        )
2427        self.previous_session = previous_session
2428        self.resume_session = resume_session
2429        self.dig_sig = dig_sig
2430        self.password = password
2431        self.restricted_password = restricted_password
2432        self.zero_knowledge = zero_knowledge
2433        self.shared_secret_challenge_response = shared_secret_challenge_response
2434        self.shared_secret_dynamic_plaintext = shared_secret_dynamic_plaintext
2435        self.ip_address = ip_address
2436        self.asymmetric_decryption = asymmetric_decryption
2437        self.asymmetric_key_agreement = asymmetric_key_agreement
2438        self.subscriber_line_number = subscriber_line_number
2439        self.user_suffix = user_suffix
2440        self.complex_authenticator = complex_authenticator
2441        self.extension = extension or []
2442
2443
2444def complex_authenticator_type__from_string(xml_string):
2445    return saml2.create_class_from_xml_string(ComplexAuthenticatorType_,
2446                                              xml_string)
2447
2448
2449class ComplexAuthenticator(ComplexAuthenticatorType_):
2450    """The urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword:ComplexAuthenticator element """
2451
2452    c_tag = 'ComplexAuthenticator'
2453    c_namespace = NAMESPACE
2454    c_children = ComplexAuthenticatorType_.c_children.copy()
2455    c_attributes = ComplexAuthenticatorType_.c_attributes.copy()
2456    c_child_order = ComplexAuthenticatorType_.c_child_order[:]
2457    c_cardinality = ComplexAuthenticatorType_.c_cardinality.copy()
2458
2459
2460def complex_authenticator_from_string(xml_string):
2461    return saml2.create_class_from_xml_string(ComplexAuthenticator, xml_string)
2462
2463
2464# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2465ComplexAuthenticatorType_.c_children[
2466    '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}ComplexAuthenticator'] = (
2467    'complex_authenticator', ComplexAuthenticator)
2468ComplexAuthenticator.c_children[
2469    '{urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword}ComplexAuthenticator'] = (
2470    'complex_authenticator', ComplexAuthenticator)
2471# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2472
2473ELEMENT_FROM_STRING = {
2474    AuthenticationContextDeclaration.c_tag: authentication_context_declaration_from_string,
2475    Identification.c_tag: identification_from_string,
2476    PhysicalVerification.c_tag: physical_verification_from_string,
2477    WrittenConsent.c_tag: written_consent_from_string,
2478    TechnicalProtection.c_tag: technical_protection_from_string,
2479    SecretKeyProtection.c_tag: secret_key_protection_from_string,
2480    PrivateKeyProtection.c_tag: private_key_protection_from_string,
2481    KeyActivation.c_tag: key_activation_from_string,
2482    KeySharing.c_tag: key_sharing_from_string,
2483    KeyStorage.c_tag: key_storage_from_string,
2484    SubscriberLineNumber.c_tag: subscriber_line_number_from_string,
2485    UserSuffix.c_tag: user_suffix_from_string,
2486    Password.c_tag: password_from_string,
2487    ActivationPin.c_tag: activation_pin_from_string,
2488    Token.c_tag: token_from_string,
2489    TimeSyncToken.c_tag: time_sync_token_from_string,
2490    Smartcard.c_tag: smartcard_from_string,
2491    Length.c_tag: length_from_string,
2492    ActivationLimit.c_tag: activation_limit_from_string,
2493    Generation.c_tag: generation_from_string,
2494    AuthnMethod.c_tag: authn_method_from_string,
2495    PrincipalAuthenticationMechanism.c_tag: principal_authentication_mechanism_from_string,
2496    Authenticator.c_tag: authenticator_from_string,
2497    ComplexAuthenticator.c_tag: complex_authenticator_from_string,
2498    PreviousSession.c_tag: previous_session_from_string,
2499    ResumeSession.c_tag: resume_session_from_string,
2500    ZeroKnowledge.c_tag: zero_knowledge_from_string,
2501    SharedSecretChallengeResponse.c_tag: shared_secret_challenge_response_from_string,
2502    SharedSecretChallengeResponseType_.c_tag: shared_secret_challenge_response_type__from_string,
2503    DigSig.c_tag: dig_sig_from_string,
2504    AsymmetricDecryption.c_tag: asymmetric_decryption_from_string,
2505    AsymmetricKeyAgreement.c_tag: asymmetric_key_agreement_from_string,
2506    PublicKeyType_.c_tag: public_key_type__from_string,
2507    IPAddress.c_tag: ip_address_from_string,
2508    SharedSecretDynamicPlaintext.c_tag: shared_secret_dynamic_plaintext_from_string,
2509    AuthenticatorTransportProtocol.c_tag: authenticator_transport_protocol_from_string,
2510    HTTP.c_tag: http_from_string,
2511    IPSec.c_tag: ip_sec_from_string,
2512    WTLS.c_tag: wtls_from_string,
2513    MobileNetworkNoEncryption.c_tag: mobile_network_no_encryption_from_string,
2514    MobileNetworkRadioEncryption.c_tag: mobile_network_radio_encryption_from_string,
2515    MobileNetworkEndToEndEncryption.c_tag: mobile_network_end_to_end_encryption_from_string,
2516    SSL.c_tag: ssl_from_string,
2517    PSTN.c_tag: pstn_from_string,
2518    ISDN.c_tag: isdn_from_string,
2519    ADSL.c_tag: adsl_from_string,
2520    OperationalProtection.c_tag: operational_protection_from_string,
2521    SecurityAudit.c_tag: security_audit_from_string,
2522    SwitchAudit.c_tag: switch_audit_from_string,
2523    DeactivationCallCenter.c_tag: deactivation_call_center_from_string,
2524    GoverningAgreements.c_tag: governing_agreements_from_string,
2525    GoverningAgreementRef.c_tag: governing_agreement_ref_from_string,
2526    NymType_.c_tag: nym_type__from_string,
2527    IdentificationType_.c_tag: identification_type__from_string,
2528    TechnicalProtectionBaseType_.c_tag: technical_protection_base_type__from_string,
2529    OperationalProtectionType_.c_tag: operational_protection_type__from_string,
2530    GoverningAgreementsType_.c_tag: governing_agreements_type__from_string,
2531    GoverningAgreementRefType_.c_tag: governing_agreement_ref_type__from_string,
2532    PrincipalAuthenticationMechanismType_.c_tag: principal_authentication_mechanism_type__from_string,
2533    ComplexAuthenticatorType_.c_tag: complex_authenticator_type__from_string,
2534    AuthenticatorTransportProtocolType_.c_tag: authenticator_transport_protocol_type__from_string,
2535    KeyActivationType_.c_tag: key_activation_type__from_string,
2536    KeySharingType_.c_tag: key_sharing_type__from_string,
2537    PrivateKeyProtectionType_.c_tag: private_key_protection_type__from_string,
2538    PasswordType_.c_tag: password_type__from_string,
2539    RestrictedPassword.c_tag: restricted_password_from_string,
2540    RestrictedPasswordType_.c_tag: restricted_password_type__from_string,
2541    RestrictedLengthType_.c_tag: restricted_length_type__from_string,
2542    ActivationPinType_.c_tag: activation_pin_type__from_string,
2543    Alphabet.c_tag: alphabet_from_string,
2544    AlphabetType_.c_tag: alphabet_type__from_string,
2545    TokenType_.c_tag: token_type__from_string,
2546    DeviceTypeType_.c_tag: device_type_type__from_string,
2547    BooleanType_.c_tag: boolean_type__from_string,
2548    TimeSyncTokenType_.c_tag: time_sync_token_type__from_string,
2549    ActivationLimitType_.c_tag: activation_limit_type__from_string,
2550    ActivationLimitDuration.c_tag: activation_limit_duration_from_string,
2551    ActivationLimitUsages.c_tag: activation_limit_usages_from_string,
2552    ActivationLimitSession.c_tag: activation_limit_session_from_string,
2553    ActivationLimitDurationType_.c_tag: activation_limit_duration_type__from_string,
2554    ActivationLimitUsagesType_.c_tag: activation_limit_usages_type__from_string,
2555    ActivationLimitSessionType_.c_tag: activation_limit_session_type__from_string,
2556    LengthType_.c_tag: length_type__from_string,
2557    MediumType_.c_tag: medium_type__from_string,
2558    KeyStorageType_.c_tag: key_storage_type__from_string,
2559    SecretKeyProtectionType_.c_tag: secret_key_protection_type__from_string,
2560    SecurityAuditType_.c_tag: security_audit_type__from_string,
2561    ExtensionOnlyType_.c_tag: extension_only_type__from_string,
2562    Extension.c_tag: extension_from_string,
2563    ExtensionType_.c_tag: extension_type__from_string,
2564    AuthnContextDeclarationBaseType_.c_tag: authn_context_declaration_base_type__from_string,
2565    AuthnMethodBaseType_.c_tag: authn_method_base_type__from_string,
2566    AuthenticatorBaseType_.c_tag: authenticator_base_type__from_string,
2567}
2568
2569ELEMENT_BY_TAG = {
2570    'AuthenticationContextDeclaration': AuthenticationContextDeclaration,
2571    'Identification': Identification,
2572    'PhysicalVerification': PhysicalVerification,
2573    'WrittenConsent': WrittenConsent,
2574    'TechnicalProtection': TechnicalProtection,
2575    'SecretKeyProtection': SecretKeyProtection,
2576    'PrivateKeyProtection': PrivateKeyProtection,
2577    'KeyActivation': KeyActivation,
2578    'KeySharing': KeySharing,
2579    'KeyStorage': KeyStorage,
2580    'SubscriberLineNumber': SubscriberLineNumber,
2581    'UserSuffix': UserSuffix,
2582    'Password': Password,
2583    'ActivationPin': ActivationPin,
2584    'Token': Token,
2585    'TimeSyncToken': TimeSyncToken,
2586    'Smartcard': Smartcard,
2587    'Length': Length,
2588    'ActivationLimit': ActivationLimit,
2589    'Generation': Generation,
2590    'AuthnMethod': AuthnMethod,
2591    'PrincipalAuthenticationMechanism': PrincipalAuthenticationMechanism,
2592    'Authenticator': Authenticator,
2593    'ComplexAuthenticator': ComplexAuthenticator,
2594    'PreviousSession': PreviousSession,
2595    'ResumeSession': ResumeSession,
2596    'ZeroKnowledge': ZeroKnowledge,
2597    'SharedSecretChallengeResponse': SharedSecretChallengeResponse,
2598    'SharedSecretChallengeResponseType': SharedSecretChallengeResponseType_,
2599    'DigSig': DigSig,
2600    'AsymmetricDecryption': AsymmetricDecryption,
2601    'AsymmetricKeyAgreement': AsymmetricKeyAgreement,
2602    'PublicKeyType': PublicKeyType_,
2603    'IPAddress': IPAddress,
2604    'SharedSecretDynamicPlaintext': SharedSecretDynamicPlaintext,
2605    'AuthenticatorTransportProtocol': AuthenticatorTransportProtocol,
2606    'HTTP': HTTP,
2607    'IPSec': IPSec,
2608    'WTLS': WTLS,
2609    'MobileNetworkNoEncryption': MobileNetworkNoEncryption,
2610    'MobileNetworkRadioEncryption': MobileNetworkRadioEncryption,
2611    'MobileNetworkEndToEndEncryption': MobileNetworkEndToEndEncryption,
2612    'SSL': SSL,
2613    'PSTN': PSTN,
2614    'ISDN': ISDN,
2615    'ADSL': ADSL,
2616    'OperationalProtection': OperationalProtection,
2617    'SecurityAudit': SecurityAudit,
2618    'SwitchAudit': SwitchAudit,
2619    'DeactivationCallCenter': DeactivationCallCenter,
2620    'GoverningAgreements': GoverningAgreements,
2621    'GoverningAgreementRef': GoverningAgreementRef,
2622    'nymType': NymType_,
2623    'IdentificationType': IdentificationType_,
2624    'TechnicalProtectionBaseType': TechnicalProtectionBaseType_,
2625    'OperationalProtectionType': OperationalProtectionType_,
2626    'GoverningAgreementsType': GoverningAgreementsType_,
2627    'GoverningAgreementRefType': GoverningAgreementRefType_,
2628    'PrincipalAuthenticationMechanismType': PrincipalAuthenticationMechanismType_,
2629    'ComplexAuthenticatorType': ComplexAuthenticatorType_,
2630    'AuthenticatorTransportProtocolType': AuthenticatorTransportProtocolType_,
2631    'KeyActivationType': KeyActivationType_,
2632    'KeySharingType': KeySharingType_,
2633    'PrivateKeyProtectionType': PrivateKeyProtectionType_,
2634    'PasswordType': PasswordType_,
2635    'RestrictedPassword': RestrictedPassword,
2636    'RestrictedPasswordType': RestrictedPasswordType_,
2637    'RestrictedLengthType': RestrictedLengthType_,
2638    'ActivationPinType': ActivationPinType_,
2639    'Alphabet': Alphabet,
2640    'AlphabetType': AlphabetType_,
2641    'TokenType': TokenType_,
2642    'DeviceTypeType': DeviceTypeType_,
2643    'booleanType': BooleanType_,
2644    'TimeSyncTokenType': TimeSyncTokenType_,
2645    'ActivationLimitType': ActivationLimitType_,
2646    'ActivationLimitDuration': ActivationLimitDuration,
2647    'ActivationLimitUsages': ActivationLimitUsages,
2648    'ActivationLimitSession': ActivationLimitSession,
2649    'ActivationLimitDurationType': ActivationLimitDurationType_,
2650    'ActivationLimitUsagesType': ActivationLimitUsagesType_,
2651    'ActivationLimitSessionType': ActivationLimitSessionType_,
2652    'LengthType': LengthType_,
2653    'mediumType': MediumType_,
2654    'KeyStorageType': KeyStorageType_,
2655    'SecretKeyProtectionType': SecretKeyProtectionType_,
2656    'SecurityAuditType': SecurityAuditType_,
2657    'ExtensionOnlyType': ExtensionOnlyType_,
2658    'Extension': Extension,
2659    'ExtensionType': ExtensionType_,
2660    'AuthnContextDeclarationBaseType': AuthnContextDeclarationBaseType_,
2661    'AuthnMethodBaseType': AuthnMethodBaseType_,
2662    'AuthenticatorBaseType': AuthenticatorBaseType_,
2663}
2664
2665
2666def factory(tag, **kwargs):
2667    return ELEMENT_BY_TAG[tag](**kwargs)
2668
2669