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