#!/usr/bin/env python # # Generated Mon May 2 14:23:33 2011 by parse_xsd.py version 0.4. # import saml2 from saml2 import SamlBase from saml2 import saml from saml2 import xmldsig as ds NAMESPACE = "urn:oasis:names:tc:SAML:2.0:protocol" STATUS_SUCCESS = "urn:oasis:names:tc:SAML:2.0:status:Success" STATUS_REQUESTER = "urn:oasis:names:tc:SAML:2.0:status:Requester" STATUS_RESPONDER = "urn:oasis:names:tc:SAML:2.0:status:Responder" STATUS_VERSION_MISMATCH = "urn:oasis:names:tc:SAML:2.0:status:VersionMismatch" STATUS_AUTHN_FAILED = "urn:oasis:names:tc:SAML:2.0:status:AuthnFailed" STATUS_INVALID_ATTR_NAME_OR_VALUE = "urn:oasis:names:tc:SAML:2.0:status:InvalidAttrNameOrValue" STATUS_INVALID_NAMEID_POLICY = "urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy" STATUS_NO_AUTHN_CONTEXT = "urn:oasis:names:tc:SAML:2.0:status:NoAuthnContext" STATUS_NO_AVAILABLE_IDP = "urn:oasis:names:tc:SAML:2.0:status:NoAvailableIDP" STATUS_NO_PASSIVE = "urn:oasis:names:tc:SAML:2.0:status:NoPassive" STATUS_NO_SUPPORTED_IDP = "urn:oasis:names:tc:SAML:2.0:status:NoSupportedIDP" STATUS_PARTIAL_LOGOUT = "urn:oasis:names:tc:SAML:2.0:status:PartialLogout" STATUS_PROXY_COUNT_EXCEEDED = "urn:oasis:names:tc:SAML:2.0:status:ProxyCountExceeded" STATUS_REQUEST_DENIED = "urn:oasis:names:tc:SAML:2.0:status:RequestDenied" STATUS_REQUEST_UNSUPPORTED = "urn:oasis:names:tc:SAML:2.0:status:RequestUnsupported" STATUS_REQUEST_VERSION_DEPRECATED = "urn:oasis:names:tc:SAML:2.0:status:RequestVersionDeprecated" STATUS_REQUEST_VERSION_TOO_HIGH = "urn:oasis:names:tc:SAML:2.0:status:RequestVersionTooHigh" STATUS_REQUEST_VERSION_TOO_LOW = "urn:oasis:names:tc:SAML:2.0:status:RequestVersionTooLow" STATUS_RESOURCE_NOT_RECOGNIZED = "urn:oasis:names:tc:SAML:2.0:status:ResourceNotRecognized" STATUS_TOO_MANY_RESPONSES = "urn:oasis:names:tc:SAML:2.0:status:TooManyResponses" STATUS_UNKNOWN_ATTR_PROFILE = "urn:oasis:names:tc:SAML:2.0:status:UnknownAttrProfile" STATUS_UNKNOWN_PRINCIPAL = "urn:oasis:names:tc:SAML:2.0:status:UnknownPrincipal" STATUS_UNSUPPORTED_BINDING = "urn:oasis:names:tc:SAML:2.0:status:UnsupportedBinding" class ExtensionsType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:ExtensionsType element""" c_tag = "ExtensionsType" c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() def extensions_type__from_string(xml_string): return saml2.create_class_from_xml_string(ExtensionsType_, xml_string) class StatusMessage(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:StatusMessage element""" c_tag = "StatusMessage" c_namespace = NAMESPACE c_value_type = {"base": "string"} c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() def status_message_from_string(xml_string): return saml2.create_class_from_xml_string(StatusMessage, xml_string) class StatusDetailType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:StatusDetailType element""" c_tag = "StatusDetailType" c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() c_any = {"namespace": "##any", "processContents": "lax", "minOccurs": "0", "maxOccurs": "unbounded"} def status_detail_type__from_string(xml_string): return saml2.create_class_from_xml_string(StatusDetailType_, xml_string) class AuthnContextComparisonType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:AuthnContextComparisonType element""" c_tag = "AuthnContextComparisonType" c_namespace = NAMESPACE c_value_type = {"base": "string", "enumeration": ["exact", "minimum", "maximum", "better"]} c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() def authn_context_comparison_type__from_string(xml_string): return saml2.create_class_from_xml_string(AuthnContextComparisonType_, xml_string) class NameIDPolicyType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:NameIDPolicyType element""" c_tag = "NameIDPolicyType" c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() c_attributes["Format"] = ("format", "anyURI", False) c_attributes["SPNameQualifier"] = ("sp_name_qualifier", "string", False) c_attributes["AllowCreate"] = ("allow_create", "boolean", False) def __init__( self, format=None, sp_name_qualifier=None, allow_create=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.format = format self.sp_name_qualifier = sp_name_qualifier self.allow_create = allow_create def name_id_policy_type__from_string(xml_string): return saml2.create_class_from_xml_string(NameIDPolicyType_, xml_string) class RequesterID(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:RequesterID element""" c_tag = "RequesterID" c_namespace = NAMESPACE c_value_type = {"base": "anyURI"} c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() def requester_id_from_string(xml_string): return saml2.create_class_from_xml_string(RequesterID, xml_string) class IDPEntryType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:IDPEntryType element""" c_tag = "IDPEntryType" c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() c_attributes["ProviderID"] = ("provider_id", "anyURI", True) c_attributes["Name"] = ("name", "string", False) c_attributes["Loc"] = ("loc", "anyURI", False) def __init__( self, provider_id=None, name=None, loc=None, text=None, extension_elements=None, extension_attributes=None ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes ) self.provider_id = provider_id self.name = name self.loc = loc def idp_entry_type__from_string(xml_string): return saml2.create_class_from_xml_string(IDPEntryType_, xml_string) class GetComplete(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:GetComplete element""" c_tag = "GetComplete" c_namespace = NAMESPACE c_value_type = {"base": "anyURI"} c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() def get_complete_from_string(xml_string): return saml2.create_class_from_xml_string(GetComplete, xml_string) class Artifact(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:Artifact element""" c_tag = "Artifact" c_namespace = NAMESPACE c_value_type = {"base": "string"} c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() def artifact_from_string(xml_string): return saml2.create_class_from_xml_string(Artifact, xml_string) class NewID(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:NewID element""" c_tag = "NewID" c_namespace = NAMESPACE c_value_type = {"base": "string"} c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() def new_id_from_string(xml_string): return saml2.create_class_from_xml_string(NewID, xml_string) class NewEncryptedID(saml.EncryptedElementType_): """The urn:oasis:names:tc:SAML:2.0:protocol:NewEncryptedID element""" c_tag = "NewEncryptedID" c_namespace = NAMESPACE c_children = saml.EncryptedElementType_.c_children.copy() c_attributes = saml.EncryptedElementType_.c_attributes.copy() c_child_order = saml.EncryptedElementType_.c_child_order[:] c_cardinality = saml.EncryptedElementType_.c_cardinality.copy() def new_encrypted_id_from_string(xml_string): return saml2.create_class_from_xml_string(NewEncryptedID, xml_string) class TerminateType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:TerminateType element""" c_tag = "TerminateType" c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() def terminate_type__from_string(xml_string): return saml2.create_class_from_xml_string(TerminateType_, xml_string) class SessionIndex(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:SessionIndex element""" c_tag = "SessionIndex" c_namespace = NAMESPACE c_value_type = {"base": "string"} c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() def session_index_from_string(xml_string): return saml2.create_class_from_xml_string(SessionIndex, xml_string) class Extensions(ExtensionsType_): """The urn:oasis:names:tc:SAML:2.0:protocol:Extensions element""" c_tag = "Extensions" c_namespace = NAMESPACE c_children = ExtensionsType_.c_children.copy() c_attributes = ExtensionsType_.c_attributes.copy() c_child_order = ExtensionsType_.c_child_order[:] c_cardinality = ExtensionsType_.c_cardinality.copy() def extensions_from_string(xml_string): return saml2.create_class_from_xml_string(Extensions, xml_string) class StatusDetail(StatusDetailType_): """The urn:oasis:names:tc:SAML:2.0:protocol:StatusDetail element""" c_tag = "StatusDetail" c_namespace = NAMESPACE c_children = StatusDetailType_.c_children.copy() c_attributes = StatusDetailType_.c_attributes.copy() c_child_order = StatusDetailType_.c_child_order[:] c_cardinality = StatusDetailType_.c_cardinality.copy() def status_detail_from_string(xml_string): return saml2.create_class_from_xml_string(StatusDetail, xml_string) class RequestAbstractType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:RequestAbstractType element""" c_tag = "RequestAbstractType" c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:assertion}Issuer"] = ("issuer", saml.Issuer) c_cardinality["issuer"] = {"min": 0, "max": 1} c_children["{http://www.w3.org/2000/09/xmldsig#}Signature"] = ("signature", ds.Signature) c_cardinality["signature"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:protocol}Extensions"] = ("extensions", Extensions) c_cardinality["extensions"] = {"min": 0, "max": 1} c_attributes["ID"] = ("id", "ID", True) c_attributes["Version"] = ("version", "string", True) c_attributes["IssueInstant"] = ("issue_instant", "dateTime", True) c_attributes["Destination"] = ("destination", "anyURI", False) c_attributes["Consent"] = ("consent", "anyURI", False) c_child_order.extend(["issuer", "signature", "extensions"]) def __init__( self, issuer=None, signature=None, extensions=None, id=None, version=None, issue_instant=None, destination=None, consent=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes ) self.issuer = issuer self.signature = signature self.extensions = extensions self.id = id self.version = version self.issue_instant = issue_instant self.destination = destination self.consent = consent class AssertionIDRequestType_(RequestAbstractType_): """ The urn:oasis:names:tc:SAML:2.0:protocol:AssertionIDRequestType element """ c_tag = "AssertionIDRequestType" c_namespace = NAMESPACE c_children = RequestAbstractType_.c_children.copy() c_attributes = RequestAbstractType_.c_attributes.copy() c_child_order = RequestAbstractType_.c_child_order[:] c_cardinality = RequestAbstractType_.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:assertion}AssertionIDRef"] = ("assertion_id_ref", [saml.AssertionIDRef]) c_cardinality["assertion_id_ref"] = {"min": 1} c_child_order.extend(["assertion_id_ref"]) def __init__( self, assertion_id_ref=None, issuer=None, signature=None, extensions=None, id=None, version=None, issue_instant=None, destination=None, consent=None, text=None, extension_elements=None, extension_attributes=None, ): RequestAbstractType_.__init__( self, issuer=issuer, signature=signature, extensions=extensions, id=id, version=version, issue_instant=issue_instant, destination=destination, consent=consent, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.assertion_id_ref = assertion_id_ref or [] def assertion_id_request_type__from_string(xml_string): return saml2.create_class_from_xml_string(AssertionIDRequestType_, xml_string) class SubjectQueryAbstractType_(RequestAbstractType_): """ The urn:oasis:names:tc:SAML:2.0:protocol:SubjectQueryAbstractType element """ c_tag = "SubjectQueryAbstractType" c_namespace = NAMESPACE c_children = RequestAbstractType_.c_children.copy() c_attributes = RequestAbstractType_.c_attributes.copy() c_child_order = RequestAbstractType_.c_child_order[:] c_cardinality = RequestAbstractType_.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:assertion}Subject"] = ("subject", saml.Subject) c_child_order.extend(["subject"]) def __init__( self, subject=None, issuer=None, signature=None, extensions=None, id=None, version=None, issue_instant=None, destination=None, consent=None, text=None, extension_elements=None, extension_attributes=None, ): RequestAbstractType_.__init__( self, issuer=issuer, signature=signature, extensions=extensions, id=id, version=version, issue_instant=issue_instant, destination=destination, consent=consent, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.subject = subject class RequestedAuthnContextType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:RequestedAuthnContextType element""" c_tag = "RequestedAuthnContextType" c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:assertion}AuthnContextClassRef"] = ( "authn_context_class_ref", [saml.AuthnContextClassRef], ) c_cardinality["authn_context_class_ref"] = {"min": 0} c_children["{urn:oasis:names:tc:SAML:2.0:assertion}AuthnContextDeclRef"] = ( "authn_context_decl_ref", [saml.AuthnContextDeclRef], ) c_cardinality["authn_context_decl_ref"] = {"min": 0} c_attributes["Comparison"] = ("comparison", AuthnContextComparisonType_, False) c_child_order.extend(["authn_context_class_ref", "authn_context_decl_ref"]) def __init__( self, authn_context_class_ref=None, authn_context_decl_ref=None, comparison=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes ) self.authn_context_class_ref = authn_context_class_ref or [] self.authn_context_decl_ref = authn_context_decl_ref or [] self.comparison = comparison def requested_authn_context_type__from_string(xml_string): return saml2.create_class_from_xml_string(RequestedAuthnContextType_, xml_string) class AttributeQueryType_(SubjectQueryAbstractType_): """The urn:oasis:names:tc:SAML:2.0:protocol:AttributeQueryType element""" c_tag = "AttributeQueryType" c_namespace = NAMESPACE c_children = SubjectQueryAbstractType_.c_children.copy() c_attributes = SubjectQueryAbstractType_.c_attributes.copy() c_child_order = SubjectQueryAbstractType_.c_child_order[:] c_cardinality = SubjectQueryAbstractType_.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:assertion}Attribute"] = ("attribute", [saml.Attribute]) c_cardinality["attribute"] = {"min": 0} c_child_order.extend(["attribute"]) def __init__( self, attribute=None, subject=None, issuer=None, signature=None, extensions=None, id=None, version=None, issue_instant=None, destination=None, consent=None, text=None, extension_elements=None, extension_attributes=None, ): SubjectQueryAbstractType_.__init__( self, subject=subject, issuer=issuer, signature=signature, extensions=extensions, id=id, version=version, issue_instant=issue_instant, destination=destination, consent=consent, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.attribute = attribute or [] def attribute_query_type__from_string(xml_string): return saml2.create_class_from_xml_string(AttributeQueryType_, xml_string) class AuthzDecisionQueryType_(SubjectQueryAbstractType_): """The urn:oasis:names:tc:SAML:2.0:protocol:AuthzDecisionQueryType element""" c_tag = "AuthzDecisionQueryType" c_namespace = NAMESPACE c_children = SubjectQueryAbstractType_.c_children.copy() c_attributes = SubjectQueryAbstractType_.c_attributes.copy() c_child_order = SubjectQueryAbstractType_.c_child_order[:] c_cardinality = SubjectQueryAbstractType_.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:assertion}Action"] = ("action", [saml.Action]) c_cardinality["action"] = {"min": 1} c_children["{urn:oasis:names:tc:SAML:2.0:assertion}Evidence"] = ("evidence", saml.Evidence) c_cardinality["evidence"] = {"min": 0, "max": 1} c_attributes["Resource"] = ("resource", "anyURI", True) c_child_order.extend(["action", "evidence"]) def __init__( self, action=None, evidence=None, resource=None, subject=None, issuer=None, signature=None, extensions=None, id=None, version=None, issue_instant=None, destination=None, consent=None, text=None, extension_elements=None, extension_attributes=None, ): SubjectQueryAbstractType_.__init__( self, subject=subject, issuer=issuer, signature=signature, extensions=extensions, id=id, version=version, issue_instant=issue_instant, destination=destination, consent=consent, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.action = action or [] self.evidence = evidence self.resource = resource def authz_decision_query_type__from_string(xml_string): return saml2.create_class_from_xml_string(AuthzDecisionQueryType_, xml_string) class NameIDPolicy(NameIDPolicyType_): """The urn:oasis:names:tc:SAML:2.0:protocol:NameIDPolicy element""" c_tag = "NameIDPolicy" c_namespace = NAMESPACE c_children = NameIDPolicyType_.c_children.copy() c_attributes = NameIDPolicyType_.c_attributes.copy() c_child_order = NameIDPolicyType_.c_child_order[:] c_cardinality = NameIDPolicyType_.c_cardinality.copy() def name_id_policy_from_string(xml_string): return saml2.create_class_from_xml_string(NameIDPolicy, xml_string) class IDPEntry(IDPEntryType_): """The urn:oasis:names:tc:SAML:2.0:protocol:IDPEntry element""" c_tag = "IDPEntry" c_namespace = NAMESPACE c_children = IDPEntryType_.c_children.copy() c_attributes = IDPEntryType_.c_attributes.copy() c_child_order = IDPEntryType_.c_child_order[:] c_cardinality = IDPEntryType_.c_cardinality.copy() def idp_entry_from_string(xml_string): return saml2.create_class_from_xml_string(IDPEntry, xml_string) class ArtifactResolveType_(RequestAbstractType_): """The urn:oasis:names:tc:SAML:2.0:protocol:ArtifactResolveType element""" c_tag = "ArtifactResolveType" c_namespace = NAMESPACE c_children = RequestAbstractType_.c_children.copy() c_attributes = RequestAbstractType_.c_attributes.copy() c_child_order = RequestAbstractType_.c_child_order[:] c_cardinality = RequestAbstractType_.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:protocol}Artifact"] = ("artifact", Artifact) c_child_order.extend(["artifact"]) def __init__( self, artifact=None, issuer=None, signature=None, extensions=None, id=None, version=None, issue_instant=None, destination=None, consent=None, text=None, extension_elements=None, extension_attributes=None, ): RequestAbstractType_.__init__( self, issuer=issuer, signature=signature, extensions=extensions, id=id, version=version, issue_instant=issue_instant, destination=destination, consent=consent, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.artifact = artifact def artifact_resolve_type__from_string(xml_string): return saml2.create_class_from_xml_string(ArtifactResolveType_, xml_string) class Terminate(TerminateType_): """The urn:oasis:names:tc:SAML:2.0:protocol:Terminate element""" c_tag = "Terminate" c_namespace = NAMESPACE c_children = TerminateType_.c_children.copy() c_attributes = TerminateType_.c_attributes.copy() c_child_order = TerminateType_.c_child_order[:] c_cardinality = TerminateType_.c_cardinality.copy() def terminate_from_string(xml_string): return saml2.create_class_from_xml_string(Terminate, xml_string) class LogoutRequestType_(RequestAbstractType_): """The urn:oasis:names:tc:SAML:2.0:protocol:LogoutRequestType element""" c_tag = "LogoutRequestType" c_namespace = NAMESPACE c_children = RequestAbstractType_.c_children.copy() c_attributes = RequestAbstractType_.c_attributes.copy() c_child_order = RequestAbstractType_.c_child_order[:] c_cardinality = RequestAbstractType_.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:assertion}BaseID"] = ("base_id", saml.BaseID) c_cardinality["base_id"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:assertion}NameID"] = ("name_id", saml.NameID) c_cardinality["name_id"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedID"] = ("encrypted_id", saml.EncryptedID) c_cardinality["encrypted_id"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:protocol}SessionIndex"] = ("session_index", [SessionIndex]) c_cardinality["session_index"] = {"min": 0} c_attributes["Reason"] = ("reason", "string", False) c_attributes["NotOnOrAfter"] = ("not_on_or_after", "dateTime", False) c_child_order.extend(["base_id", "name_id", "encrypted_id", "session_index"]) def __init__( self, base_id=None, name_id=None, encrypted_id=None, session_index=None, reason=None, not_on_or_after=None, issuer=None, signature=None, extensions=None, id=None, version=None, issue_instant=None, destination=None, consent=None, text=None, extension_elements=None, extension_attributes=None, ): RequestAbstractType_.__init__( self, issuer=issuer, signature=signature, extensions=extensions, id=id, version=version, issue_instant=issue_instant, destination=destination, consent=consent, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.base_id = base_id self.name_id = name_id self.encrypted_id = encrypted_id self.session_index = session_index or [] self.reason = reason self.not_on_or_after = not_on_or_after def logout_request_type__from_string(xml_string): return saml2.create_class_from_xml_string(LogoutRequestType_, xml_string) class NameIDMappingRequestType_(RequestAbstractType_): """The urn:oasis:names:tc:SAML:2.0:protocol:NameIDMappingRequestType element""" c_tag = "NameIDMappingRequestType" c_namespace = NAMESPACE c_children = RequestAbstractType_.c_children.copy() c_attributes = RequestAbstractType_.c_attributes.copy() c_child_order = RequestAbstractType_.c_child_order[:] c_cardinality = RequestAbstractType_.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:assertion}BaseID"] = ("base_id", saml.BaseID) c_cardinality["base_id"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:assertion}NameID"] = ("name_id", saml.NameID) c_cardinality["name_id"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedID"] = ("encrypted_id", saml.EncryptedID) c_cardinality["encrypted_id"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:protocol}NameIDPolicy"] = ("name_id_policy", NameIDPolicy) c_child_order.extend(["base_id", "name_id", "encrypted_id", "name_id_policy"]) def __init__( self, base_id=None, name_id=None, encrypted_id=None, name_id_policy=None, issuer=None, signature=None, extensions=None, id=None, version=None, issue_instant=None, destination=None, consent=None, text=None, extension_elements=None, extension_attributes=None, ): RequestAbstractType_.__init__( self, issuer=issuer, signature=signature, extensions=extensions, id=id, version=version, issue_instant=issue_instant, destination=destination, consent=consent, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.base_id = base_id self.name_id = name_id self.encrypted_id = encrypted_id self.name_id_policy = name_id_policy def name_id_mapping_request_type__from_string(xml_string): return saml2.create_class_from_xml_string(NameIDMappingRequestType_, xml_string) class AssertionIDRequest(AssertionIDRequestType_): """The urn:oasis:names:tc:SAML:2.0:protocol:AssertionIDRequest element""" c_tag = "AssertionIDRequest" c_namespace = NAMESPACE c_children = AssertionIDRequestType_.c_children.copy() c_attributes = AssertionIDRequestType_.c_attributes.copy() c_child_order = AssertionIDRequestType_.c_child_order[:] c_cardinality = AssertionIDRequestType_.c_cardinality.copy() def assertion_id_request_from_string(xml_string): return saml2.create_class_from_xml_string(AssertionIDRequest, xml_string) class SubjectQuery(SubjectQueryAbstractType_): """The urn:oasis:names:tc:SAML:2.0:protocol:SubjectQuery element""" c_tag = "SubjectQuery" c_namespace = NAMESPACE c_children = SubjectQueryAbstractType_.c_children.copy() c_attributes = SubjectQueryAbstractType_.c_attributes.copy() c_child_order = SubjectQueryAbstractType_.c_child_order[:] c_cardinality = SubjectQueryAbstractType_.c_cardinality.copy() def subject_query_from_string(xml_string): return saml2.create_class_from_xml_string(SubjectQuery, xml_string) class RequestedAuthnContext(RequestedAuthnContextType_): """ The urn:oasis:names:tc:SAML:2.0:protocol:RequestedAuthnContext element """ c_tag = "RequestedAuthnContext" c_namespace = NAMESPACE c_children = RequestedAuthnContextType_.c_children.copy() c_attributes = RequestedAuthnContextType_.c_attributes.copy() c_child_order = RequestedAuthnContextType_.c_child_order[:] c_cardinality = RequestedAuthnContextType_.c_cardinality.copy() def requested_authn_context_from_string(xml_string): return saml2.create_class_from_xml_string(RequestedAuthnContext, xml_string) class AttributeQuery(AttributeQueryType_): """The urn:oasis:names:tc:SAML:2.0:protocol:AttributeQuery element""" c_tag = "AttributeQuery" c_namespace = NAMESPACE c_children = AttributeQueryType_.c_children.copy() c_attributes = AttributeQueryType_.c_attributes.copy() c_child_order = AttributeQueryType_.c_child_order[:] c_cardinality = AttributeQueryType_.c_cardinality.copy() def attribute_query_from_string(xml_string): return saml2.create_class_from_xml_string(AttributeQuery, xml_string) class AuthzDecisionQuery(AuthzDecisionQueryType_): """The urn:oasis:names:tc:SAML:2.0:protocol:AuthzDecisionQuery element""" c_tag = "AuthzDecisionQuery" c_namespace = NAMESPACE c_children = AuthzDecisionQueryType_.c_children.copy() c_attributes = AuthzDecisionQueryType_.c_attributes.copy() c_child_order = AuthzDecisionQueryType_.c_child_order[:] c_cardinality = AuthzDecisionQueryType_.c_cardinality.copy() def authz_decision_query_from_string(xml_string): return saml2.create_class_from_xml_string(AuthzDecisionQuery, xml_string) class IDPListType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:IDPListType element""" c_tag = "IDPListType" c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:protocol}IDPEntry"] = ("idp_entry", [IDPEntry]) c_cardinality["idp_entry"] = {"min": 1} c_children["{urn:oasis:names:tc:SAML:2.0:protocol}GetComplete"] = ("get_complete", GetComplete) c_cardinality["get_complete"] = {"min": 0, "max": 1} c_child_order.extend(["idp_entry", "get_complete"]) def __init__( self, idp_entry=None, get_complete=None, text=None, extension_elements=None, extension_attributes=None ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes ) self.idp_entry = idp_entry or [] self.get_complete = get_complete def idp_list_type__from_string(xml_string): return saml2.create_class_from_xml_string(IDPListType_, xml_string) class ArtifactResolve(ArtifactResolveType_): """The urn:oasis:names:tc:SAML:2.0:protocol:ArtifactResolve element""" c_tag = "ArtifactResolve" c_namespace = NAMESPACE c_children = ArtifactResolveType_.c_children.copy() c_attributes = ArtifactResolveType_.c_attributes.copy() c_child_order = ArtifactResolveType_.c_child_order[:] c_cardinality = ArtifactResolveType_.c_cardinality.copy() def artifact_resolve_from_string(xml_string): return saml2.create_class_from_xml_string(ArtifactResolve, xml_string) class ManageNameIDRequestType_(RequestAbstractType_): """ The urn:oasis:names:tc:SAML:2.0:protocol:ManageNameIDRequestType element """ c_tag = "ManageNameIDRequestType" c_namespace = NAMESPACE c_children = RequestAbstractType_.c_children.copy() c_attributes = RequestAbstractType_.c_attributes.copy() c_child_order = RequestAbstractType_.c_child_order[:] c_cardinality = RequestAbstractType_.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:assertion}NameID"] = ("name_id", saml.NameID) c_cardinality["name_id"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedID"] = ("encrypted_id", saml.EncryptedID) c_cardinality["encrypted_id"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:protocol}NewID"] = ("new_id", NewID) c_cardinality["new_id"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:protocol}NewEncryptedID"] = ("new_encrypted_id", NewEncryptedID) c_cardinality["new_encrypted_id"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:protocol}Terminate"] = ("terminate", Terminate) c_cardinality["terminate"] = {"min": 0, "max": 1} c_child_order.extend(["name_id", "encrypted_id", "new_id", "new_encrypted_id", "terminate"]) def __init__( self, name_id=None, encrypted_id=None, new_id=None, new_encrypted_id=None, terminate=None, issuer=None, signature=None, extensions=None, id=None, version=None, issue_instant=None, destination=None, consent=None, text=None, extension_elements=None, extension_attributes=None, ): RequestAbstractType_.__init__( self, issuer=issuer, signature=signature, extensions=extensions, id=id, version=version, issue_instant=issue_instant, destination=destination, consent=consent, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.name_id = name_id self.encrypted_id = encrypted_id self.new_id = new_id self.new_encrypted_id = new_encrypted_id self.terminate = terminate def manage_name_id_request_type__from_string(xml_string): return saml2.create_class_from_xml_string(ManageNameIDRequestType_, xml_string) class LogoutRequest(LogoutRequestType_): """The urn:oasis:names:tc:SAML:2.0:protocol:LogoutRequest element""" c_tag = "LogoutRequest" c_namespace = NAMESPACE c_children = LogoutRequestType_.c_children.copy() c_attributes = LogoutRequestType_.c_attributes.copy() c_child_order = LogoutRequestType_.c_child_order[:] c_cardinality = LogoutRequestType_.c_cardinality.copy() def logout_request_from_string(xml_string): return saml2.create_class_from_xml_string(LogoutRequest, xml_string) class NameIDMappingRequest(NameIDMappingRequestType_): """The urn:oasis:names:tc:SAML:2.0:protocol:NameIDMappingRequest element""" c_tag = "NameIDMappingRequest" c_namespace = NAMESPACE c_children = NameIDMappingRequestType_.c_children.copy() c_attributes = NameIDMappingRequestType_.c_attributes.copy() c_child_order = NameIDMappingRequestType_.c_child_order[:] c_cardinality = NameIDMappingRequestType_.c_cardinality.copy() def name_id_mapping_request_from_string(xml_string): return saml2.create_class_from_xml_string(NameIDMappingRequest, xml_string) class AuthnQueryType_(SubjectQueryAbstractType_): """The urn:oasis:names:tc:SAML:2.0:protocol:AuthnQueryType element""" c_tag = "AuthnQueryType" c_namespace = NAMESPACE c_children = SubjectQueryAbstractType_.c_children.copy() c_attributes = SubjectQueryAbstractType_.c_attributes.copy() c_child_order = SubjectQueryAbstractType_.c_child_order[:] c_cardinality = SubjectQueryAbstractType_.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:protocol}RequestedAuthnContext"] = ( "requested_authn_context", RequestedAuthnContext, ) c_cardinality["requested_authn_context"] = {"min": 0, "max": 1} c_attributes["SessionIndex"] = ("session_index", "string", False) c_child_order.extend(["requested_authn_context"]) def __init__( self, requested_authn_context=None, session_index=None, subject=None, issuer=None, signature=None, extensions=None, id=None, version=None, issue_instant=None, destination=None, consent=None, text=None, extension_elements=None, extension_attributes=None, ): SubjectQueryAbstractType_.__init__( self, subject=subject, issuer=issuer, signature=signature, extensions=extensions, id=id, version=version, issue_instant=issue_instant, destination=destination, consent=consent, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.requested_authn_context = requested_authn_context self.session_index = session_index def authn_query_type__from_string(xml_string): return saml2.create_class_from_xml_string(AuthnQueryType_, xml_string) class IDPList(IDPListType_): """The urn:oasis:names:tc:SAML:2.0:protocol:IDPList element""" c_tag = "IDPList" c_namespace = NAMESPACE c_children = IDPListType_.c_children.copy() c_attributes = IDPListType_.c_attributes.copy() c_child_order = IDPListType_.c_child_order[:] c_cardinality = IDPListType_.c_cardinality.copy() def idp_list_from_string(xml_string): return saml2.create_class_from_xml_string(IDPList, xml_string) class ManageNameIDRequest(ManageNameIDRequestType_): """The urn:oasis:names:tc:SAML:2.0:protocol:ManageNameIDRequest element""" c_tag = "ManageNameIDRequest" c_namespace = NAMESPACE c_children = ManageNameIDRequestType_.c_children.copy() c_attributes = ManageNameIDRequestType_.c_attributes.copy() c_child_order = ManageNameIDRequestType_.c_child_order[:] c_cardinality = ManageNameIDRequestType_.c_cardinality.copy() def manage_name_id_request_from_string(xml_string): return saml2.create_class_from_xml_string(ManageNameIDRequest, xml_string) class AuthnQuery(AuthnQueryType_): """The urn:oasis:names:tc:SAML:2.0:protocol:AuthnQuery element""" c_tag = "AuthnQuery" c_namespace = NAMESPACE c_children = AuthnQueryType_.c_children.copy() c_attributes = AuthnQueryType_.c_attributes.copy() c_child_order = AuthnQueryType_.c_child_order[:] c_cardinality = AuthnQueryType_.c_cardinality.copy() def authn_query_from_string(xml_string): return saml2.create_class_from_xml_string(AuthnQuery, xml_string) class ScopingType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:ScopingType element""" c_tag = "ScopingType" c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:protocol}IDPList"] = ("idp_list", IDPList) c_cardinality["idp_list"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:protocol}RequesterID"] = ("requester_id", [RequesterID]) c_cardinality["requester_id"] = {"min": 0} c_attributes["ProxyCount"] = ("proxy_count", "nonNegativeInteger", False) c_child_order.extend(["idp_list", "requester_id"]) def __init__( self, idp_list=None, requester_id=None, proxy_count=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes ) self.idp_list = idp_list self.requester_id = requester_id or [] self.proxy_count = proxy_count def scoping_type__from_string(xml_string): return saml2.create_class_from_xml_string(ScopingType_, xml_string) class Scoping(ScopingType_): """The urn:oasis:names:tc:SAML:2.0:protocol:Scoping element""" c_tag = "Scoping" c_namespace = NAMESPACE c_children = ScopingType_.c_children.copy() c_attributes = ScopingType_.c_attributes.copy() c_child_order = ScopingType_.c_child_order[:] c_cardinality = ScopingType_.c_cardinality.copy() def scoping_from_string(xml_string): return saml2.create_class_from_xml_string(Scoping, xml_string) class AuthnRequestType_(RequestAbstractType_): """The urn:oasis:names:tc:SAML:2.0:protocol:AuthnRequestType element""" c_tag = "AuthnRequestType" c_namespace = NAMESPACE c_children = RequestAbstractType_.c_children.copy() c_attributes = RequestAbstractType_.c_attributes.copy() c_child_order = RequestAbstractType_.c_child_order[:] c_cardinality = RequestAbstractType_.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:assertion}Subject"] = ("subject", saml.Subject) c_cardinality["subject"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:protocol}NameIDPolicy"] = ("name_id_policy", NameIDPolicy) c_cardinality["name_id_policy"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:assertion}Conditions"] = ("conditions", saml.Conditions) c_cardinality["conditions"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:protocol}RequestedAuthnContext"] = ( "requested_authn_context", RequestedAuthnContext, ) c_cardinality["requested_authn_context"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:protocol}Scoping"] = ("scoping", Scoping) c_cardinality["scoping"] = {"min": 0, "max": 1} c_attributes["ForceAuthn"] = ("force_authn", "boolean", False) c_attributes["IsPassive"] = ("is_passive", "boolean", False) c_attributes["ProtocolBinding"] = ("protocol_binding", "anyURI", False) c_attributes["AssertionConsumerServiceIndex"] = ("assertion_consumer_service_index", "unsignedShort", False) c_attributes["AssertionConsumerServiceURL"] = ("assertion_consumer_service_url", "anyURI", False) c_attributes["AttributeConsumingServiceIndex"] = ("attribute_consuming_service_index", "unsignedShort", False) c_attributes["ProviderName"] = ("provider_name", "string", False) c_child_order.extend(["subject", "name_id_policy", "conditions", "requested_authn_context", "scoping"]) def __init__( self, subject=None, name_id_policy=None, conditions=None, requested_authn_context=None, scoping=None, force_authn=None, is_passive=None, protocol_binding=None, assertion_consumer_service_index=None, assertion_consumer_service_url=None, attribute_consuming_service_index=None, provider_name=None, issuer=None, signature=None, extensions=None, id=None, version=None, issue_instant=None, destination=None, consent=None, text=None, extension_elements=None, extension_attributes=None, ): RequestAbstractType_.__init__( self, issuer=issuer, signature=signature, extensions=extensions, id=id, version=version, issue_instant=issue_instant, destination=destination, consent=consent, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.subject = subject self.name_id_policy = name_id_policy self.conditions = conditions self.requested_authn_context = requested_authn_context self.scoping = scoping self.force_authn = force_authn self.is_passive = is_passive self.protocol_binding = protocol_binding self.assertion_consumer_service_index = assertion_consumer_service_index self.assertion_consumer_service_url = assertion_consumer_service_url self.attribute_consuming_service_index = attribute_consuming_service_index self.provider_name = provider_name def authn_request_type__from_string(xml_string): return saml2.create_class_from_xml_string(AuthnRequestType_, xml_string) class AuthnRequest(AuthnRequestType_): """The urn:oasis:names:tc:SAML:2.0:protocol:AuthnRequest element""" c_tag = "AuthnRequest" c_namespace = NAMESPACE c_children = AuthnRequestType_.c_children.copy() c_attributes = AuthnRequestType_.c_attributes.copy() c_child_order = AuthnRequestType_.c_child_order[:] c_cardinality = AuthnRequestType_.c_cardinality.copy() def authn_request_from_string(xml_string): return saml2.create_class_from_xml_string(AuthnRequest, xml_string) class StatusType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:StatusType element""" c_tag = "StatusType" c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() # Added further down to avoid undefined references # c_children['{urn:oasis:names:tc:SAML:2.0:protocol}StatusCode'] = ( # 'status_code', StatusCode) c_children["{urn:oasis:names:tc:SAML:2.0:protocol}StatusMessage"] = ("status_message", StatusMessage) c_cardinality["status_message"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:protocol}StatusDetail"] = ("status_detail", StatusDetail) c_cardinality["status_detail"] = {"min": 0, "max": 1} c_child_order.extend(["status_code", "status_message", "status_detail"]) def __init__( self, status_code=None, status_message=None, status_detail=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes ) self.status_code = status_code self.status_message = status_message self.status_detail = status_detail def status_type__from_string(xml_string): return saml2.create_class_from_xml_string(StatusType_, xml_string) class Status(StatusType_): """The urn:oasis:names:tc:SAML:2.0:protocol:Status element""" c_tag = "Status" c_namespace = NAMESPACE c_children = StatusType_.c_children.copy() c_attributes = StatusType_.c_attributes.copy() c_child_order = StatusType_.c_child_order[:] c_cardinality = StatusType_.c_cardinality.copy() def status_from_string(xml_string): return saml2.create_class_from_xml_string(Status, xml_string) class StatusResponseType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:StatusResponseType element""" c_tag = "StatusResponseType" c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:assertion}Issuer"] = ("issuer", saml.Issuer) c_cardinality["issuer"] = {"min": 0, "max": 1} c_children["{http://www.w3.org/2000/09/xmldsig#}Signature"] = ("signature", ds.Signature) c_cardinality["signature"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:protocol}Extensions"] = ("extensions", Extensions) c_cardinality["extensions"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:protocol}Status"] = ("status", Status) c_attributes["ID"] = ("id", "ID", True) c_attributes["InResponseTo"] = ("in_response_to", "NCName", False) c_attributes["Version"] = ("version", "string", True) c_attributes["IssueInstant"] = ("issue_instant", "dateTime", True) c_attributes["Destination"] = ("destination", "anyURI", False) c_attributes["Consent"] = ("consent", "anyURI", False) c_child_order.extend(["issuer", "signature", "extensions", "status"]) def __init__( self, issuer=None, signature=None, extensions=None, status=None, id=None, in_response_to=None, version=None, issue_instant=None, destination=None, consent=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes ) self.issuer = issuer self.signature = signature self.extensions = extensions self.status = status self.id = id self.in_response_to = in_response_to self.version = version self.issue_instant = issue_instant self.destination = destination self.consent = consent def status_response_type__from_string(xml_string): return saml2.create_class_from_xml_string(StatusResponseType_, xml_string) class ResponseType_(StatusResponseType_): """The urn:oasis:names:tc:SAML:2.0:protocol:ResponseType element""" c_tag = "ResponseType" c_namespace = NAMESPACE c_children = StatusResponseType_.c_children.copy() c_attributes = StatusResponseType_.c_attributes.copy() c_child_order = StatusResponseType_.c_child_order[:] c_cardinality = StatusResponseType_.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:assertion}Assertion"] = ("assertion", [saml.Assertion]) c_cardinality["assertion"] = {"min": 0} c_children["{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedAssertion"] = ( "encrypted_assertion", [saml.EncryptedAssertion], ) c_cardinality["encrypted_assertion"] = {"min": 0} c_child_order.extend(["assertion", "encrypted_assertion"]) def __init__( self, assertion=None, encrypted_assertion=None, issuer=None, signature=None, extensions=None, status=None, id=None, in_response_to=None, version=None, issue_instant=None, destination=None, consent=None, text=None, extension_elements=None, extension_attributes=None, ): StatusResponseType_.__init__( self, issuer=issuer, signature=signature, extensions=extensions, status=status, id=id, in_response_to=in_response_to, version=version, issue_instant=issue_instant, destination=destination, consent=consent, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.assertion = assertion or [] self.encrypted_assertion = encrypted_assertion or [] def response_type__from_string(xml_string): return saml2.create_class_from_xml_string(ResponseType_, xml_string) class ArtifactResponseType_(StatusResponseType_): """The urn:oasis:names:tc:SAML:2.0:protocol:ArtifactResponseType element""" c_tag = "ArtifactResponseType" c_namespace = NAMESPACE c_children = StatusResponseType_.c_children.copy() c_attributes = StatusResponseType_.c_attributes.copy() c_child_order = StatusResponseType_.c_child_order[:] c_cardinality = StatusResponseType_.c_cardinality.copy() c_any = {"namespace": "##any", "processContents": "lax", "minOccurs": "0"} def artifact_response_type__from_string(xml_string): return saml2.create_class_from_xml_string(ArtifactResponseType_, xml_string) class ManageNameIDResponse(StatusResponseType_): """The urn:oasis:names:tc:SAML:2.0:protocol:ManageNameIDResponse element""" c_tag = "ManageNameIDResponse" c_namespace = NAMESPACE c_children = StatusResponseType_.c_children.copy() c_attributes = StatusResponseType_.c_attributes.copy() c_child_order = StatusResponseType_.c_child_order[:] c_cardinality = StatusResponseType_.c_cardinality.copy() def manage_name_id_response_from_string(xml_string): return saml2.create_class_from_xml_string(ManageNameIDResponse, xml_string) class LogoutResponse(StatusResponseType_): """The urn:oasis:names:tc:SAML:2.0:protocol:LogoutResponse element""" c_tag = "LogoutResponse" c_namespace = NAMESPACE c_children = StatusResponseType_.c_children.copy() c_attributes = StatusResponseType_.c_attributes.copy() c_child_order = StatusResponseType_.c_child_order[:] c_cardinality = StatusResponseType_.c_cardinality.copy() def logout_response_from_string(xml_string): return saml2.create_class_from_xml_string(LogoutResponse, xml_string) class NameIDMappingResponseType_(StatusResponseType_): """ The urn:oasis:names:tc:SAML:2.0:protocol:NameIDMappingResponseType element """ c_tag = "NameIDMappingResponseType" c_namespace = NAMESPACE c_children = StatusResponseType_.c_children.copy() c_attributes = StatusResponseType_.c_attributes.copy() c_child_order = StatusResponseType_.c_child_order[:] c_cardinality = StatusResponseType_.c_cardinality.copy() c_children["{urn:oasis:names:tc:SAML:2.0:assertion}NameID"] = ("name_id", saml.NameID) c_cardinality["name_id"] = {"min": 0, "max": 1} c_children["{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedID"] = ("encrypted_id", saml.EncryptedID) c_cardinality["encrypted_id"] = {"min": 0, "max": 1} c_child_order.extend(["name_id", "encrypted_id"]) def __init__( self, name_id=None, encrypted_id=None, issuer=None, signature=None, extensions=None, status=None, id=None, in_response_to=None, version=None, issue_instant=None, destination=None, consent=None, text=None, extension_elements=None, extension_attributes=None, ): StatusResponseType_.__init__( self, issuer=issuer, signature=signature, extensions=extensions, status=status, id=id, in_response_to=in_response_to, version=version, issue_instant=issue_instant, destination=destination, consent=consent, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.name_id = name_id self.encrypted_id = encrypted_id def name_id_mapping_response_type__from_string(xml_string): return saml2.create_class_from_xml_string(NameIDMappingResponseType_, xml_string) class Response(ResponseType_): """The urn:oasis:names:tc:SAML:2.0:protocol:Response element""" c_tag = "Response" c_namespace = NAMESPACE c_children = ResponseType_.c_children.copy() c_attributes = ResponseType_.c_attributes.copy() c_child_order = ResponseType_.c_child_order[:] c_cardinality = ResponseType_.c_cardinality.copy() def response_from_string(xml_string): return saml2.create_class_from_xml_string(Response, xml_string) class ArtifactResponse(ArtifactResponseType_): """The urn:oasis:names:tc:SAML:2.0:protocol:ArtifactResponse element""" c_tag = "ArtifactResponse" c_namespace = NAMESPACE c_children = ArtifactResponseType_.c_children.copy() c_attributes = ArtifactResponseType_.c_attributes.copy() c_child_order = ArtifactResponseType_.c_child_order[:] c_cardinality = ArtifactResponseType_.c_cardinality.copy() def artifact_response_from_string(xml_string): return saml2.create_class_from_xml_string(ArtifactResponse, xml_string) class NameIDMappingResponse(NameIDMappingResponseType_): """The urn:oasis:names:tc:SAML:2.0:protocol:NameIDMappingResponse element""" c_tag = "NameIDMappingResponse" c_namespace = NAMESPACE c_children = NameIDMappingResponseType_.c_children.copy() c_attributes = NameIDMappingResponseType_.c_attributes.copy() c_child_order = NameIDMappingResponseType_.c_child_order[:] c_cardinality = NameIDMappingResponseType_.c_cardinality.copy() def name_id_mapping_response_from_string(xml_string): return saml2.create_class_from_xml_string(NameIDMappingResponse, xml_string) # .................. # ['StatusCodeType', 'StatusCode'] class StatusCodeType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:protocol:StatusCodeType element""" c_tag = "StatusCodeType" c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() c_cardinality["status_code"] = {"min": 0, "max": 1} c_attributes["Value"] = ("value", "anyURI", True) c_child_order.extend(["status_code"]) def __init__(self, status_code=None, value=None, text=None, extension_elements=None, extension_attributes=None): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes ) self.status_code = status_code self.value = value def status_code_type__from_string(xml_string): return saml2.create_class_from_xml_string(StatusCodeType_, xml_string) class StatusCode(StatusCodeType_): """The urn:oasis:names:tc:SAML:2.0:protocol:StatusCode element""" c_tag = "StatusCode" c_namespace = NAMESPACE c_children = StatusCodeType_.c_children.copy() c_attributes = StatusCodeType_.c_attributes.copy() c_child_order = StatusCodeType_.c_child_order[:] c_cardinality = StatusCodeType_.c_cardinality.copy() def status_code_from_string(xml_string): return saml2.create_class_from_xml_string(StatusCode, xml_string) # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ StatusType_.c_children["{urn:oasis:names:tc:SAML:2.0:protocol}StatusCode"] = ("status_code", StatusCode) Status.c_children["{urn:oasis:names:tc:SAML:2.0:protocol}StatusCode"] = ("status_code", StatusCode) StatusCodeType_.c_children["{urn:oasis:names:tc:SAML:2.0:protocol}StatusCode"] = ("status_code", StatusCode) StatusCode.c_children["{urn:oasis:names:tc:SAML:2.0:protocol}StatusCode"] = ("status_code", StatusCode) # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ELEMENT_FROM_STRING = { Extensions.c_tag: extensions_from_string, ExtensionsType_.c_tag: extensions_type__from_string, StatusResponseType_.c_tag: status_response_type__from_string, Status.c_tag: status_from_string, StatusType_.c_tag: status_type__from_string, StatusCode.c_tag: status_code_from_string, StatusCodeType_.c_tag: status_code_type__from_string, StatusMessage.c_tag: status_message_from_string, StatusDetail.c_tag: status_detail_from_string, StatusDetailType_.c_tag: status_detail_type__from_string, AssertionIDRequest.c_tag: assertion_id_request_from_string, AssertionIDRequestType_.c_tag: assertion_id_request_type__from_string, SubjectQuery.c_tag: subject_query_from_string, AuthnQuery.c_tag: authn_query_from_string, AuthnQueryType_.c_tag: authn_query_type__from_string, RequestedAuthnContext.c_tag: requested_authn_context_from_string, RequestedAuthnContextType_.c_tag: requested_authn_context_type__from_string, AuthnContextComparisonType_.c_tag: authn_context_comparison_type__from_string, AttributeQuery.c_tag: attribute_query_from_string, AttributeQueryType_.c_tag: attribute_query_type__from_string, AuthzDecisionQuery.c_tag: authz_decision_query_from_string, AuthzDecisionQueryType_.c_tag: authz_decision_query_type__from_string, AuthnRequest.c_tag: authn_request_from_string, AuthnRequestType_.c_tag: authn_request_type__from_string, NameIDPolicy.c_tag: name_id_policy_from_string, NameIDPolicyType_.c_tag: name_id_policy_type__from_string, Scoping.c_tag: scoping_from_string, ScopingType_.c_tag: scoping_type__from_string, RequesterID.c_tag: requester_id_from_string, IDPList.c_tag: idp_list_from_string, IDPListType_.c_tag: idp_list_type__from_string, IDPEntry.c_tag: idp_entry_from_string, IDPEntryType_.c_tag: idp_entry_type__from_string, GetComplete.c_tag: get_complete_from_string, Response.c_tag: response_from_string, ResponseType_.c_tag: response_type__from_string, ArtifactResolve.c_tag: artifact_resolve_from_string, ArtifactResolveType_.c_tag: artifact_resolve_type__from_string, Artifact.c_tag: artifact_from_string, ArtifactResponse.c_tag: artifact_response_from_string, ArtifactResponseType_.c_tag: artifact_response_type__from_string, ManageNameIDRequest.c_tag: manage_name_id_request_from_string, ManageNameIDRequestType_.c_tag: manage_name_id_request_type__from_string, NewID.c_tag: new_id_from_string, NewEncryptedID.c_tag: new_encrypted_id_from_string, Terminate.c_tag: terminate_from_string, TerminateType_.c_tag: terminate_type__from_string, ManageNameIDResponse.c_tag: manage_name_id_response_from_string, LogoutRequest.c_tag: logout_request_from_string, LogoutRequestType_.c_tag: logout_request_type__from_string, SessionIndex.c_tag: session_index_from_string, LogoutResponse.c_tag: logout_response_from_string, NameIDMappingRequest.c_tag: name_id_mapping_request_from_string, NameIDMappingRequestType_.c_tag: name_id_mapping_request_type__from_string, NameIDMappingResponse.c_tag: name_id_mapping_response_from_string, NameIDMappingResponseType_.c_tag: name_id_mapping_response_type__from_string, } ELEMENT_BY_TAG = { "Extensions": Extensions, "ExtensionsType": ExtensionsType_, "StatusResponseType": StatusResponseType_, "Status": Status, "StatusType": StatusType_, "StatusCode": StatusCode, "StatusCodeType": StatusCodeType_, "StatusMessage": StatusMessage, "StatusDetail": StatusDetail, "StatusDetailType": StatusDetailType_, "AssertionIDRequest": AssertionIDRequest, "AssertionIDRequestType": AssertionIDRequestType_, "SubjectQuery": SubjectQuery, "AuthnQuery": AuthnQuery, "AuthnQueryType": AuthnQueryType_, "RequestedAuthnContext": RequestedAuthnContext, "RequestedAuthnContextType": RequestedAuthnContextType_, "AuthnContextComparisonType": AuthnContextComparisonType_, "AttributeQuery": AttributeQuery, "AttributeQueryType": AttributeQueryType_, "AuthzDecisionQuery": AuthzDecisionQuery, "AuthzDecisionQueryType": AuthzDecisionQueryType_, "AuthnRequest": AuthnRequest, "AuthnRequestType": AuthnRequestType_, "NameIDPolicy": NameIDPolicy, "NameIDPolicyType": NameIDPolicyType_, "Scoping": Scoping, "ScopingType": ScopingType_, "RequesterID": RequesterID, "IDPList": IDPList, "IDPListType": IDPListType_, "IDPEntry": IDPEntry, "IDPEntryType": IDPEntryType_, "GetComplete": GetComplete, "Response": Response, "ResponseType": ResponseType_, "ArtifactResolve": ArtifactResolve, "ArtifactResolveType": ArtifactResolveType_, "Artifact": Artifact, "ArtifactResponse": ArtifactResponse, "ArtifactResponseType": ArtifactResponseType_, "ManageNameIDRequest": ManageNameIDRequest, "ManageNameIDRequestType": ManageNameIDRequestType_, "NewID": NewID, "NewEncryptedID": NewEncryptedID, "Terminate": Terminate, "TerminateType": TerminateType_, "ManageNameIDResponse": ManageNameIDResponse, "LogoutRequest": LogoutRequest, "LogoutRequestType": LogoutRequestType_, "SessionIndex": SessionIndex, "LogoutResponse": LogoutResponse, "NameIDMappingRequest": NameIDMappingRequest, "NameIDMappingRequestType": NameIDMappingRequestType_, "NameIDMappingResponse": NameIDMappingResponse, "NameIDMappingResponseType": NameIDMappingResponseType_, "RequestAbstractType": RequestAbstractType_, "SubjectQueryAbstractType": SubjectQueryAbstractType_, } def factory(tag, **kwargs): return ELEMENT_BY_TAG[tag](**kwargs) def any_response_from_string(xmlstr): resp = None for func in [ status_response_type__from_string, response_from_string, artifact_response_from_string, logout_response_from_string, name_id_mapping_response_from_string, manage_name_id_response_from_string, ]: resp = func(xmlstr) if resp: break if not resp: raise Exception("Unknown response type") return resp