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